Postgresql
如何在不同位置(AWS)擁有遠端備用 PostgreSQL 伺服器?
我們有一個主 PostgreSQL 9.4 伺服器在我們的 DC 中執行多個實例。它通過 WAL-E 使用連續存檔到 AWS S3。我想在 AWS EC2 內的 VPC 中有一個熱/熱備用伺服器,如果我們需要 DR,它可以隨時接管。我可以通過 WAL-E 恢復伺服器,但似乎無法讓它在 hot_standby 模式下工作。我會錯過什麼?我閱讀的文件似乎建議備用伺服器需要與主伺服器通信?是這樣嗎?通過 WAL-E 進行日誌傳送時是否需要這樣做?
有兩種方法可以執行副本。您可以使用其中一個,也可以同時使用兩者:
primary_conninfo
流式複制,其中副本按照in配置與備用數據庫建立 PostgreSQL 協議連接recovery.conf
;要麼- WAL shipping,副本執行一個
restore_command
(設置在recovery.conf
其中獲取 WAL 檔案以重播。兩者都要求
standby_mode
在recovery.conf
.WAL-E 被設計為
archive_command
在 master 上使用,將 WAL 儲存到 S3 中,然後recovery_command
在副本上用作獲取 WAL。不需要流複製連接。無論如何,您都可以添加一個,它將在可用的地方使用,如果系統無法通過流複製連接,系統將回退到 WAL 存檔恢復。或者你可以只使用基於 WAL 的歸檔。使用流複製的主要優點是它更及時;您不必等到整個 WAL 存檔被填充並發送後,副本才能看到更改。
有關詳細資訊,請參閱手冊。