本文用银行账本比喻Postgres的WAL:数据文件是余额,WAL是流水账,所有写入必须先记WAL。检查点后旧WAL段可回收,但启用归档后须先归档。备份恢复依赖连续WAL,缺失会导致数据静默丢失。切勿将archive_command设为/bin/true或删除WAL,应修复归档目标并监控pg_stat_archiver。
本文介绍了PostgreSQL中WAL目录增长的原因和解决方法。WAL目录中的文件名类似于0000000B00000C19000000E6,PostgreSQL会保持WAL目录在min_wal_size和max_wal_size之间。如果WAL目录增长,可能是由于归档失败、归档速度慢或复制插槽等原因。可以通过查询pg_stat_archiver系统视图来检查前两种情况。如果归档正常,但WAL目录仍在增长,则可能是由于复制插槽的原因。可以通过查询pg_replication_slots系统视图来查看复制插槽的情况,并通过pg_drop_replication_slot()函数删除复制插槽。
完成下面两步后,将自动完成登录并继续当前操作。