2013-01-03 38 views
2

我有兩臺運行在Amazon EC2上的PostgreSQL 9服務器。一個是主服務器,另一個是處於待機狀態的複製服務器。如何管理PostgreSQL複製服務器上的wals目錄?

複製服務器在硬盤驅動器填滿時繼續失敗。看來,下面的目錄在不斷增加:

/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文件嗎?要麼?真的可以使用你的建議。謝謝

回答

1

您應該在recovery.conf文件中配置archive_cleanup_command。檢出pg_archivecleanup;它是爲此目的而製作的。

WAL文件也可以用作備份和恢復目的的存檔,所以如果您只是在進行復制,它們不會自動刪除。

(或者,你可以使用任何你喜歡手工製作的方法來清理存檔,但可能是有點困難,而且容易出錯。)

0

有一個在的postgresql.conf文件名爲wal_keep_segments=checkpoint_segments=我有我的設置爲wal_keep_segments=128checkpoint_segments=128與複製精細的設置。

wal_keep_segments是目錄中的最小wal_files。 checkpoint_segments是最大的。

我在兩者上都設置了它。

+0

這是主或從或兩者兼而有之? – AnApprentice

+0

我在原始答案中澄清了一些內容 –

+0

謝謝,但我使用的是9.1,而且我沒有看到wal_keep_segments的設置,http://www.postgresql.org/docs/9.1/static/runtime-config-wal。 html – AnApprentice

相關問題