Postgresql

如何在不同位置(AWS)擁有遠端備用 PostgreSQL 伺服器?

  • July 30, 2015

我們有一個主 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 檔案以重播。

recovery.conf

兩者都要求standby_moderecovery.conf.

WAL-E 被設計為archive_command在 master 上使用,將 WAL 儲存到 S3 中,然後recovery_command在副本上用作獲取 WAL。不需要流複製連接。無論如何,您都可以添加一個,它將在可用的地方使用,如果系統無法通過流複製連接,系統將回退到 WAL 存檔恢復。或者你可以只使用基於 WAL 的歸檔。

使用流複製的主要優點是它更及時;您不必等到整個 WAL 存檔被填充並發送後,副本才能看到更改。

有關詳細資訊,請參閱手冊

引用自:https://dba.stackexchange.com/questions/108480