AWS RDS Postgres (9.6) 데이터베이스에서 On-Premise Postgres (9.5) 데이터베이스로 데이터 복제가 필요합니다. 온 - 프레미스에서 온 - 프레미스로의 복제에 관한 것들을 발견했습니다. 그러나 AWS RDS를 위해이를 On-premise에 어떻게 구현할 수 있습니까?AWS RDS Postgresql을 구내 Postgresql로 복제
답변
I이 사용 Bucardo을한다. 체크 아웃이 : 노예는 노예를 구성, 어딘가에 존재 POSTGRES에 RDS 물건을 구성 할 필요가없는 있도록 https://bucardo.org/Bucardo/
가 Bucardo 사용하면, RDS 포스트 그레스 인스턴스를 복제 할 수 있습니다. 또한 중단 시간없이이 작업을 수행 할 수 있습니다.
어쨌든 다른 버전의 PostgreSQL을 사용하여 작동하는지 확신 할 수 없습니다. 가능한 경우 동일한 버전을 사용해야합니다. 필자는 9.4.x로 테스트했으며 작동 중입니다.
UPDATE
예를 들어 나는이 버전으로 복제 할 수 있었다 나는이 포스트 그레스의 다른 버전을 사용하여도 작동하는지 확인할 수 있습니다
- AWS RDS의 PostgreSQL의 9.4.x
- 온 - 프레미스 postgresql 9.6.x
는 PostgreSQL의 버전 9.4을 시작으로, PostgreSQL는 WAL의 스트리밍 논리적 복제 슬롯을 사용하여 변경을 지원합니다. Amazon RDS 은 PostgreSQL DB 인스턴스 버전 9.4.9 이상 및 9.5.4 이상에 대한 논리적 복제를 지원합니다. 논리적 복제를 사용하면 인스턴스에 논리적 복제 슬롯을 설정하고 이러한 슬롯을 통해 데이터베이스를 pg_recvlogical과 같은 클라이언트로 스트리밍 할 수 있습니다. 논리 슬롯은 데이터베이스 수준에서 만들어지고 단일 데이터베이스에 대한 복제 연결을 지원합니다.
마음 발생할 수있는 문제 예를 들어 https://dba.stackexchange.com/questions/173267/aws-rds-postgres-logical-replication
안녕하세요 @diego : bucardo를 사용하여 설정 복제가 있습니다. 그러나 때때로 붙어 있습니다. bucardo 상태를 확인하면 ** Good **이라고 표시되지만 데이터는 복제되지 않습니다. 이 문제에 대해 알고 계시나요? – WannaBeSQLExpert
안녕하세요 @WannaBeSQLExpert, 복제에 bucardo 사용의 주요 문제는 마스터 데이터베이스의 스키마가 변경되면 동기화가 중단되어 수동으로 다시 만들어야한다는 것입니다. 이것은 고통이며 우리에게는 동기화가 실패하는 유일한 이유입니다. bucardo status 명령에 대해서는 * Last good * 열에 항상 실제/현재 시간과 거의 동일한 타임 스탬프가 표시되는지 확인하십시오. 그렇다면 복제가 작동해야합니다. –