2011-05-02 3 views
0

QA를 위해 PG9에서 스트리밍 복제를 사용하고 싶습니다. 즉, 프로덕션에서 QA 로의 스트림 데이터입니다. 주의 사항 : QA에서 데이터를 난독 화해야합니다 (비밀번호 해시, 이메일 변경 등).스트리밍 복제 - 난독 화 복사본?

스트리밍 복제로 구현할 수 있습니까? 그렇지 않다면, 즉석에서 난독 화하는 증분 업데이트에 대한 대안이 있습니까?

답변

0

아마 여기에 자신 만의 것을 써야 할 것 같습니다. 내가 뭘 할 것인가 설정과 같은 장소에 obfuscated/임의의 가치를 넣고 대체 스키마에 같은 이름을 가진 테이블에 그들을 밀어 실제 테이블에 방아쇠입니다. 원본을 대신하는 표를 사용하여 데이터베이스를 복제합니다. 이렇게하면 보안 데이터가 생산을 떠나지 않고 모든 것을 직접 롤하지 않아도 미리 만들어진 복제 엔진 (slony)을 사용할 수 있습니다. slony에 대한 도움이 필요하면 slony 관리자 가이드로 이동하십시오. 정말 복잡해 보입니다.하지만 그렇게 나쁘지는 않습니다. 한 번 익숙해지면 정말 멋지고 놀라운 일을 할 수 있습니다.

+0

명확한 설명 : 필자는 당분간 PostgreSQL 스트리밍 복제를 실행 해 왔습니다. 이진 복제 메커니즘이므로이 때문에 데이터베이스 내의 데이터베이스 나 테이블을 격리 할 수 ​​없습니다. 데이터베이스를 분리하려면 로그 전달을 통해 PITR (Point In Time Replication)을 사용해야합니다. PITR을 사용하면 원하는 것을 벗어날 수 없습니다. 나는 Scott의 제안을 좋아한다! – Eric

0

명확하고 짧은 대답 : 아니오.

PostgreSQL 내장 스트리밍 복제에서 마스터 및 슬레이브 은 동일해야합니다.. 특정 레코드 및 필드를 변경할 수있을뿐만 아니라 예를 들어 데이터베이스 수를 변경할 수도 없습니다. 마스터에서 모든 "데이터베이스 클러스터"를 (모든 데이터베이스, 테이블 및 데이터와 함께) 슬레이브에 복사합니다.

실제로 필요한 것은 일종의 논리적 인 트리거 기반 복제입니다. 나는 pglink가이 일을 할 수 있다고 들었지만 한번도 시도한 적이 없다.