【问题标题】:How to manage the wals dir on a PostgreSQL replication server?如何管理 PostgreSQL 复制服务器上的 wals 目录?
【发布时间】:2012-12-18 07:09:27
【问题描述】:

我有两台 PostgreSQL 9 服务器在 Amazon EC2 上运行。一个是主服务器,另一个是备用的复制服务器。

随着硬盘驱动器被填满,复制服务器继续出现故障。似乎以下目录在不断增长:

/usr/local/pgsql/wals

有成千上万的文件,例如:

-rw------- 1 pgsql users 16777216 Jan  3 20:36 000000010000001B000000A2
-rw------- 1 pgsql users 16777216 Jan  3 20:40 000000010000001B000000A3
-rw------- 1 pgsql users 16777216 Jan  3 20:46 000000010000001B000000A4

你如何设置它不会导致失败?您需要自动旋转 wal 文件吗?要么?真的可以使用你的建议。谢谢

【问题讨论】:

    标签: postgresql postgresql-9.1 rails-postgresql


    【解决方案1】:

    您应该在您的recovery.conf 文件中配置一个archive_cleanup_command。查看pg_archivecleanup;它是为此目的而制作的。

    WAL 文件也可以用作备份和恢复目的的存档,因此如果您只是进行复制,它们不会自动删除。

    (或者,您可以使用任何您喜欢的手工方法来清理存档,但这可能有点困难且容易出错。)

    【讨论】:

      【解决方案2】:

      postgresql.conf 文件中有一个名为wal_keep_segments=checkpoint_segments= 的设置我的设置为wal_keep_segments=128checkpoint_segments=128,复制正常。

      wal_keep_segments 是目录中的最小 wal_files。 checkpoint_segments 是最大值。

      我都设置了。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 2012-06-27
      • 2021-03-04
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多