如何管理PostgreSQL复制服务器上的墙目录?

时间:2013-01-03 20:54:06

标签: postgresql postgresql-9.1 rails-postgresql

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

随着硬盘驱动器的填满,复制服务器仍在继续运行。以下目录似乎在不断增长:

/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文件吗?要么?真的可以使用你的建议。谢谢

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

postgresql.conf 文件中有一个名为wal_keep_segments=checkpoint_segments=的设置我已将其设置为wal_keep_segments=128checkpoint_segments=128进行了复制细

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

我在两者上都设置了它。