Ich habe eine Anforderung von replizieren Daten von AWS RDS Postgres (9.6) -Datenbank zu On-Premise Postgres (9.5) -Datenbank. Ich habe Sachen über die Replikation von On-Premise zu On-Premise gefunden. Aber wie können wir es für AWS RDS zu On-Premise implementieren?Replikation von AWS RDS Postgresql in On-Premise Postgresql
Antwort
ich dies mit Bucardo tun. diese Check-out: https://bucardo.org/Bucardo/
Mit Bucardo können Sie RDS Postgres Instanz replizieren zu einem Slave vorhanden irgendwo postgres, nur Slave-Konfiguration, also ohne die Bedürfnisse RDS Sachen zu konfigurieren. Sie können dies auch ohne Ausfallzeiten tun.
Ich bin mir nicht sicher, ob das mit verschiedenen Versionen von Postgresql funktioniert. Sie sollten die gleiche Version verwenden, wenn möglich. Ich habe es mit 9.4.x getestet und es funktioniert.
UPDATE
Ich kann bestätigen, dass dies auch andere Version von Postgres, zum Beispiel unter Verwendung arbeitet ich in der Lage war, mit diesen Versionen zu replizieren:
- AWS RDS postgresql 9.4.x
- On-Premise Postgresql 9.6.x
Beginnend mit PostgreSQL Version 9.4 unterstützt PostgreSQL die Streaming von WAL ändert logische Replikation Slots verwenden. Amazon RDS unterstützt die logische Replikation für eine PostgreSQL-DB-Instanzversion 9.4.9 und höher und 9.5.4 und höher. Mithilfe der logischen Replikation können Sie logische Replikationssteckplätze für Ihre Instanz einrichten und die Datenbankänderungen über diese Steckplätze in einen Client wie pg_recvlogical streamen. Logische Slots werden auf Datenbankebene erstellt und unterstützen Replikationsverbindungen zu einer einzelnen Datenbank.
Geist mögliche Probleme zB https://dba.stackexchange.com/questions/173267/aws-rds-postgres-logical-replication
- 1. AWS RDS PostgreSQL Tablespace
- 2. Pakete auf PostgreSQL installieren RDS AWS
- 3. AWS RDS PostgreSQL Pgadmin - Server hört nicht
- 4. Londiste3 und logische Replikation auf PostgreSQL Amazon RDS
- 5. PostgreSQL -> Oracle Replikation
- 6. Multi-Master-Cross-Region Postgresql-Replikation
- 7. Multi-Master-Replikation in PostgreSQL
- 8. Verwendung von archive_command in PostgreSQL Streaming-Replikation
- 9. Bidirektionale Replikation auf Postgresql 9.3
- 10. Postgresql 10 Logische Replikation MultiMaster
- 11. Upload PostgreSQL-Datenbank nach AWS
- 12. PostgreSQL pgAdmin III SSL-Verbindung zur AWS RDS-Instanz
- 13. AWS RDS MySQL Kreuz-Region Replikation
- 14. Laden von Daten von S3 zu PostgreSQL RDS
- 15. Speicherprobleme auf RDS PostgreSQL instance/Rails 4
- 16. NpgSQL Connect RDS AWS
- 17. Replikation auf Postgresql Pausen, wenn Abfragen und Replikation gleichzeitig stattfinden
- 18. Wie lade ich Daten von S3 nach PostgreSQL RDS
- 19. Migration von Heroku PostgreSQL nach AWS RDS mit AWS Data Migration Service (DMS) funktioniert nicht
- 20. RDS PostgreSQL vermeiden bei der Verwendung von dblink_connect()
- 21. Langsame sequenzielle PostgreSQL-Scans auf RDS?
- 22. Erstellen Sie Tablespace auf PostgreSQL RDS
- 23. Postgresql: HTTP-Erweiterung auf Amazon RDS nicht installieren
- 24. Problem mit fortlaufender Replikation von AWS DMS
- 25. Replikation zwischen MySQL und AWS RDS MySQL: GTID-Flag Problem
- 26. CloudFormation Vorlage für Aurora PostgreSQL
- 27. Installation der Kmeans PostgreSQL-Erweiterung auf Amazon RDS
- 28. Verbinden mit Amazon RDS Postgresql mit IAM Rolle
- 29. Enable lokalen Entwicklungszugriff auf PostgreSQL DB auf Amazon RDS
- 30. Link-Server mit PG RDS von AWS
Hallo @diego: Ich habe Replikation mit Bucardo eingerichtet. Aber manchmal bleibt es hängen. Wenn ich den Bucardo-Status überprüfe, heißt es ** Gut **, aber die Daten werden nicht repliziert. Haben Sie eine Idee zu diesem Thema? – WannaBeSQLExpert
Hallo @ WannaBeSQLExpert, das Hauptproblem bei der Verwendung von Bucardo für die Replikation ist, dass, wenn sich das Schema der Master-Datenbank ändert, die Synchronisierung hängen bleibt und Sie sie manuell neu erstellen müssen. Dies ist ein Schmerz und für uns ist der einzige Grund, dass die Synchronisierung fehlschlägt. In Bezug auf Bucardo Status Befehl, überprüfen Sie immer * Letzte gute * Spalte, um zu sehen, ob es einen Zeitstempel zeigt, der fast der tatsächlichen/aktuellen Zeit entspricht. Wenn ja, dann sollte die Replikation funktionieren. –