我们max_wal_size
最近将其设置为 24 GB(默认为 1 GB),进行了一些测试,然后将其设置为 12 GB,然后重新启动服务器。当我在文件系统上查询 WAL 的大小(pg_xlog
目录中文件的总大小)时,它仍然显示为大约 20 GB。我已经发布了一个手动检查点并重新启动了服务器,但 WAL 并没有缩小到 12 GB。这是一个非常简单的实现——没有复制或存档,也不存在长时间运行的事务。我误解了这应该如何工作吗?当您降低max_wal_size
值并完成所有事务并且服务器重新启动时,它是否不会删除旧的 WAL 文件?
Postgres 版本:9.6.15
操作系统:Linux Ubuntu 16.04.6 LTS
设置:
max_wal_size = 12GB
min_wal_size = 80MB
wal_keep_segments = 0
checkpoint_timeout = 15 分钟
checkpoint_completion_target = 0.87
wal_compression = 关闭
存档模式 = 关闭
wal_level = 最小