이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 29.1. 토토 핫버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

29.1. 무지개 토토#

aPublication물리적 복제 기본에서 정의 할 수 있습니다. 무지개 토토물이 정의 된 노드를라고합니다.게시자. 간행물은 테이블 또는 테이블 그룹에서 생성 된 일련의 변경 세트이며 변경 세트 또는 복제 세트로 설명 될 수도 있습니다. 각 게시물은 하나의 데이터베이스에만 존재합니다.

간행물은 스키마와 다르며 테이블에 액세스하는 방법에 영향을 미치지 않습니다. 필요한 경우 각 테이블을 여러 간행물에 추가 할 수 있습니다. 출판물에는 현재 스키마에 테이블과 모든 테이블 만 포함 할 수 있습니다. 출판물이 생성되는 경우를 제외하고 객체는 명시 적으로 추가되어야합니다.모든 테이블.

간행물은 생성 된 변경 사항을 모든 조합으로 제한하도록 선택할 수 있습니다삽입, 업데이트, 삭제Truncate, 특정 이벤트 유형에 의해 트리거가 발사되는 방법과 유사합니다. 기본적으로 모든 작동 유형이 복제됩니다. 이러한 무지개 토토 사양은 DML 작업에만 적용됩니다. 초기 데이터 동기화 사본에는 영향을 미치지 않습니다. (행 필터는 효과가 없습니다Truncate. 보다PostgreSQL : 문서 : 개발 : 29.4. 행 배트맨 토토).

모든 무지개 토토물에는 여러 구독자가있을 수 있습니다.

무지개 토토물은를 사용하여 생성됩니다.무지개 토토물 만들기명령 및 나중에 해당 명령을 사용하여 변경되거나 삭제 될 수 있습니다.

개별 테이블을 추가하고 동적으로 제거 할 수 있습니다Alter Publication. 둘 다테이블 추가and드롭 테이블운영은 트랜잭션이므로 트랜잭션이 커밋되면 테이블이 올바른 스냅 샷에서 복제를 시작하거나 중지합니다..

29.1.1. 복제 아이덴티티#

게시 된 테이블은가 있어야합니다.복제 아이덴티티복제 할 수 있도록 구성업데이트and삭제작동, 가입자 측에서 업데이트 또는 삭제할 적절한 행을 식별 할 수 있습니다.

기본적으로 이것은 기본 키입니다. 또 다른 고유 한 지수 (특정 추가 요구 사항 포함)도 복제 아이덴티티로 설정할 수 있습니다. 테이블에 적합한 키가 없으면 복제 아이덴티티로 설정할 수 있습니다full, 전체 행이 키가된다는 것을 의미합니다. 복제 아이덴티티시기full지정되어 있으며, 가입자 측에서 인덱스를 사용하여 행을 검색 할 수 있습니다. 후보 지수는 BTREE 또는 HASH, 비 입술이어야하며 가장 왼쪽 인덱스 필드는 게시 된 테이블 열을 참조하는 열 (표현이 아님)이어야합니다. 비 유적 인덱스 속성에 대한 이러한 제한은 기본 키를 위해 시행되는 일부 제한 사항을 준수합니다. 이러한 적절한 인덱스가 없으면 가입자 측의 검색은 매우 비효율적 일 수 있으므로 복제 아이덴티티full다른 솔루션이 불가능한 경우 폴백으로 만 사용해야합니다.

이외의 복제 아이덴티티 인 경우Full는 게시자쪽에 설정되어 있으며, 동일하거나 적은 열을 포함하는 복제 아이덴티티도 가입자 측에 설정되어야합니다.

복제 아이덴티티가있는 테이블아무것도, 기본값기본 키가 없거나색인 사용인덱스가 떨어지면 지원할 수 없습니다업데이트또는삭제이러한 작업을 복제하는 출판물에 포함 된 작업. 이러한 작업을 시도하면 게시자에게 오류가 발생합니다.

삽입복제 아이덴티티에 관계없이 운영이 진행될 수 있습니다.

참조Alter Table ... 복제 아이덴티티복제 아이덴티티를 설정하는 방법에 대한 자세한 내용.