我正在尝试配置 PostgreSQL 9.6 数据库以限制 pg_xlog 文件夹的大小。我已经阅读了很多关于这个问题或类似问题的帖子,但我尝试过的没有任何帮助。
我为我的 Postgresql 9.6 服务实例编写了一个设置脚本。它执行 initdb,注册一个 Windows 服务,启动它,创建一个空数据库并将转储恢复到数据库中。脚本完成后,数据库结构正常,数据在那里,但 xlog 文件夹已经包含 55 个文件(880 mb)。
为了减小文件夹的大小,我尝试将 wal_keep_segments 设置为 0 或 1,将 max_wal_size 设置为 200mb,减少 checkpoint_timeout,将 archive_mode 设置为 off 并将 archive_command 设置为空字符串。当我查询 pg_settings 时,我可以看到属性已正确设置。
然后我通过 SQL 强制检查点,清空数据库,重新启动 Windows 服务并尝试 pg_archivecleanup,但没有任何效果。我的 xlog 文件夹缩小到 50 个文件(800 mb),而不是接近我在配置中设置的 200 mb 限制。
我不知道还能尝试什么。如果有人能告诉我我做错了什么,我将不胜感激。如果需要更多信息,我很乐意提供。
非常感谢