PolarDB PostgreSQL版数据库主体空间主要被用户数据和WAL日志占用。
查询数据空间
查询数据空间包括以下内容:
数据库
通过PG客户端执行\l+ ,可以查看每个数据库的空间占用情况注意该操作需要遍历目录树,会有较高的CPU和IO开销。
表
对于占用空间较大的数据库,可以通过客户端连接到该数据库,执行\d+ 查看该数据库每个表的空间占用情况。
查询WAL日志
执行以下SQL可查看当前WAL日志占用空间:
SELECT pg_size_pretty(SUM(size)) FROM pg_ls_waldir();
PolarDB PostgreSQL版默认回收WAL日志。WAL日志用于确保在内存中的数据尚未写入磁盘之前,若发生崩溃,内存中的数据将会面临丢失的风险。当内存中的数据成功写入磁盘后,相应的WAL日志将会被回收。
如果存在WAL日志占用空间较大问题,需要关注是否存在非活跃复制槽等非预期场景导致WAL日志累积。
说明
对于存在活跃状态为false
的复制槽问题,可通过SELECT * FROM pg_replication_slots;
进一步检查。
该文章对您有帮助吗?