2012-09-03 44 views
1

我在Streaming replication(不是基於文件的日誌傳送)中設置PostgreSQL(9.1版本)備用服務器。是否必須在recovery.conf中設置「restore_command」和「archive_cleanup_command」?

standby_mode設置爲'on'和primary_conninfo爲正確的值,設置restore_command還是archive_cleanup_command是重要還是強制要求?主服務器中還有archive_command

雖然讀了the documentation,但我不太確定答案。

謝謝。

編輯:

讓我回答我自己的問題。在recover.conf文件,它必須存在於奴隸,對於restore_command,說評論:

# This parameter is *required* for an archive recovery, but optional
# for streaming replication.

總之,它是沒有必要的配置文件,日誌傳送功能(存檔,恢復,清理等),如果你的奴隸機器沒有從主機回落太多。

回答

2

您需要在主站上設置archive_command,並在從站上設置匹配的restore_command

流式複製系統的工作方式是將wal記錄標識賦予從屬服務器,該服務器將使用restore_command來獲取它。所以你必須在主設備上有一些archive_command,它寫入一個存儲設備,可以通過從設備上的restore_command進行訪問。

archive_cleanup_command是可選的,但強烈建議,因爲wal檔案佔用了大量的磁盤空間,並且可以快速填滿磁盤空間。

相關問題