DBAtlas · 数据库运维图谱

53100: disk_full

PostgreSQL

含义

由于磁盘已满,服务器无法写入文件。存放数据目录、WAL 或临时文件的磁盘上已没有剩余空间。

原因

数据增长、WAL 失控堆积(归档或复制槽落后)、大型临时文件(巨大的排序)、日志文件膨胀,或表/索引膨胀(bloat)。

解决方法

检查磁盘使用情况并清理不必要的文件。检查 WAL 堆积:pg_stat_replication 和 pg_replication_slots(删除不用的槽;落后的槽会保留 WAL)。磁盘已满时不要运行 VACUUM FULL 或 REINDEX:它们会重写表,需要与表大小相当的额外空间,可能让情况更糟;普通 VACUUM 也(几乎)不会把空间归还给操作系统。绝对不要手动删除 pg_wal 目录中的文件。先通过处理 WAL/槽、日志和临时文件来源释放空间;检查日志和临时文件的存放位置。作为永久解决办法,增加磁盘容量并建立监控/告警。

在 DBAtlas 中打开 →

同一数据库的其他条目