磁盘满判定条件
任何一个计算组磁盘空间达到限制或者主节点(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'));