2014-06-23 3 views
5

저는 정확히 DBA가 아니므로 응답을 이해하기 쉽습니다. 나는 DB에 복제를 제공해야하고 pgpool은 한 postgresql 인스턴스가 실패하면 클라이언트가 작업을 계속하기 위해 어떤 것도 변경하지 않아도되므로 더 편리해 보인다. 그래서,이 경우, pgpool을 사용하는 것이 더 합리적이긴하지만, 설정 부분은 훨씬 복잡하고 혼란스럽게 보입니다. 예를 들어, 두 postgresql 서버 모두에서 WAL을 설정해야합니까? 또는 postgresql 복제를 설정하려는 경우에만 필요합니다. 이 질문에 대한 답변을 얻으려고 노력할수록 덜 명확 해집니다. 어쩌면 내가 어떻게 구글을 잊어 버렸는지 ...pgpool II 복제와 postgresql 복제의 차이점은 무엇입니까?

+0

pgPool의 복제를 통해 내장 된 복제를 선호합니다. 복제를 관리하는 가장 좋은 도구는 http://repmgr.org/입니다. 일반적으로 사람들은 가상 IP를 사용하여 "클러스터"를 가리 킵니다.하지만 pgPool을 사용하여 복제 된 서버의 프록시 역할을 수행 할 수도 있습니다. –

+0

' 경험이 없으며 WAL 아카이브 폴러 오버 (fallover) 기능이있는 내장 된 스트리밍 복제에 충실하십시오. 'repmgr'은 이것을 도와줍니다. PgBouncer와 같은 프록시 (장애 조치시 대상 서버를 변경하는 스크립트 포함) 또는 클라이언트를 투명하게 만들려면 HAProxy와 같은 것을 사용하십시오. 완전히 자동화 된 장애 조치를 시도하지 말고 수동으로 트리거 된 스크립트 된 장애 조치를 사용하고 주기적으로 * 테스트하십시오. –

답변

4

postgresql (스트리밍 복제, 웜 스탠바이, 핫 스탠바이)에 의해 제공되는 복제는 모든 대기 server.Write 명령문에 대한 write write 로그를 마스터와 마스터는 대기 서버 (또는 마스터 - 마스터 복제의 경우 다른 마스터)로 로그를 보냅니다.

pgpool은 데이터베이스 프록시와 같은 명령문 기반 복제 미들웨어 유형입니다. 즉, 명령문은 실제로 pgpool로 이동하고 pgpool은이를 복제 할 모든 서버로 전달합니다.

pgpool을 사용하는 서버가 충돌하면 전체 높은 asvailability 클러스터가 실패 (단일 실패 지점)하는 경우에 pgpool을 사용하면 큰 단점이 있습니다.

추가 정보 : http://www.postgresql.org/docs/9.4/static/different-replication-solutions.html

관련 문제