一、问题原因
base目录存储的是数据库的表和表空间数据,不可删除,删除后会导致数据库数据丢失(不可逆的毁坏)。
该问题是软件bug,影响版本为:小于等于6.1-37040版本,或小于等于7.1.58的版本。该问题在6.1.37040后续版本或7.1.57后续版本已经解决,建议升级到修复版本。
注意:
如使用的是7.1.58版本但仍然出现base目录较大的问题,请修改控制机日志保留天数,改小一些,如下。
二、解决办法
升级到修复版本,或使用如下临时解决办法。
1、登录数据库
6.1版本:
psql -h localhost -U postgres -p 5432
7.1版本:
psql -h localhost -U postgres -p 58083
口令:HfQchrS5
相关联内容
psql: error while loading shared libraries: libreadline.so.8: cannot open shared object file: No such file or directory
解决办法:需要先加载环境变量 source /usr/cntlcenter/etc/env.source
注意:若控制机为Webconsole安装包,需要先加载环境变量 source /usr/cntlcenter/etc/env.source
2、查询各个库的大小
select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datname)) AS size from pg_database;
此问题中,会看到sdata数据库最大。如果是7.1版本,则会看到i2soft最大。(也有可能是i2active)
3、查询数据库中每个表的大小并倒序排序
连接对应的数据库i2soft: \c i2soft
(如果是i2active库最大则连接 i2active库 : \c i2active)
执行查询命令:
SELECT
table_schema || '.' || table_name
AS table_full_name, pg_size_pretty(pg_total_relation_size('"' ||table_schema || '"."' || table_name || '"')) AS size
FROM
information_schema.tables
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;
此例中,会看到monitor表最大。
4、查看表结构并酌情清除表数据
\d monitor
truncate table monitor;
例:
说明:
因monitor表存储的是节点资源监控信息,清除后不影响主体功能,因此,可直接清空表数据来释放空间。如果实际环境是其他表比较大,需要重新评估数据是否可以清除。
5、配置自动清理
说明:
上述只完成一次性清理,如果不配置自动清理脚本,时间长了还会再次出现。
如果是Windows控制机,不升级条件下,只建议关闭节点资源监控或者手工定期清理。如果是Linux控制机,请按如下方式配置自动清理脚本。
crontab -e
* 0 * * 7 root /var/i2data/db_clear.sh
crontab -l
touch /var/i2data/db_clear.sh
chmod +x /var/i2data/db_clear.sh
vim /var/i2data/db_clear.sh
---------------脚本内容--------------
#!/bin/bash
dele="truncate table public.monitor;"
psql -h localhost -U postgres -p 5432 --command "$dele" > /dev/null 2>&1
第二种可能,postgresql.conf配置文件中 autovacuum = on 默认值是 on 打开自动清理的,如果未打开自动清理,public.nodes 等正常只有几行记录的数据文件都比较大,那么需要手工定期清理。
1、登录数据库
6.1版本:
psql -h localhost -U postgres -p 5432
7.1版本:
psql -h localhost -U postgres -p 58083
口令:HfQchrS5
2、执行
vacuum full;
案例:
i2_Ticket#2024032640000031 — 广州市拓璞电器发展有限公司根目录已满
http://support.info2soft.com/service/index.pl?Action=AgentTicketZoom;TicketID=11524#Article68631