2017-09-26 171 views

回答

1

我做到這一點使用Bucardo這。 退房這樣的:https://bucardo.org/Bucardo/

隨着Bucardo這是可以複製的Postgres RDS實例與Postgres的奴隸某處存在,只有配置的奴隸,所以沒有需要配置RDS的東西。 您也可以在零宕機時間內完成此操作。

無論如何,我不確定這將使用不同版本的Postgresql。如果可能,你應該使用相同的版本。我用9.4.x測試過,它正在工作。

UPDATE

我可以證實,這是工作也使用不同版本的Postgres的,比如我能與這些版本進行復制:

  • AWS RDS的PostgreSQL 9.4.x
  • 內部部署postgresql 9.6.x
+0

hi @diego:我已經使用bucardo設置了複製。但有時會卡住。當我檢查bucardo狀態時,它會顯示** Good **,但數據不會被複制。你對這個問題有什麼想法嗎? – WannaBeSQLExpert

+0

嗨@WannaBeSQLExpert,使用bucardo進行復制的主要問題是,如果主數據庫的模式發生更改,則同步會卡住,您必須手動重新創建它。這是一個痛苦,對我們來說是導致同步失敗的唯一原因。 關於bucardo狀態命令,請始終檢查* Last good *列,以查看它是否顯示幾乎等於實際/當前時間的時間戳。如果是,那麼複製應該工作。 –

0

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication

在PostgreSQL版本9.4開始,PostgreSQL支持使用邏輯複製槽 流WAL的變化。 Amazon RDS 支持PostgreSQL數據庫實例版本 9.4.9及更高版本和9.5.4及更高版本的邏輯複製。使用邏輯複製,您可以在您的實例上設置邏輯複製插槽,並通過這些插槽將數據庫更改流傳輸到像pg_recvlogical這樣的客戶端。 邏輯插槽在數據庫級別創建並支持到單個數據庫的複製連接。

心中可能存在的問題https://dba.stackexchange.com/questions/173267/aws-rds-postgres-logical-replication