磁盘满判定条件

任何一个计算组磁盘空间达到限制或者主节点(Master)磁盘空间达到限制,就会锁定整个实例。

检查实例是否锁定

直接连接数据库,执行以下命令,检查实例是否被锁定:

show rds_force_trans_ro_non_sup;

根据返回结果,如果 rds_force_trans_ro_non_sup 的值为 on,表示实例已被锁定,数据库已处于只读状态。

如何清理数据

当实例因磁盘满被锁定时,AnalyticDB for PostgreSQL 仍然支持对数据表进行truncate/drop/grant 操作。清理数据后,如果磁盘空间降到阈值以下,过大约5分钟实例会自动解锁。

注意 实例锁定后,不支持 delete 操作。因为 delete 会写 xlog,使空间占用增大。

另外,您可以执行以下语句来查询表的大小:

select pg_size_pretty(pg_total_relation_size('test'));