사설 토토 작성

CREATE PUBLICATION — 새 출판 정의

시놉시스

간행물 작성이름[ 테이블용 [ 전용 ]테이블_이름[ * ] [, ...]
      | 모든 테이블에 대해 ]
    [ 와 (publication_parameter [= ] [, ... ] ) ]

설명

사설 토토 작성현재 데이터베이스에 새 출판물을 추가합니다. 출판물 이름은 현재 데이터베이스에 있는 기존 출판물의 이름과 달라야 합니다.

게시란 기본적으로 데이터 변경 사항이 논리적 복제를 통해 복제되는 테이블 그룹입니다. 참조PostgreSQL : 문서 : 14 : 31.1. 롤 토토게시물이 논리적 복제 설정에 어떻게 적용되는지 자세히 알아보세요.

매개변수

이름

새 출판물의 이름.

테이블용

출판에 추가할 테이블 목록을 지정합니다. 만일이 테이블 이름 앞에 지정되면 해당 테이블만 게시에 추가됩니다. 만일이 지정되지 않으면 테이블과 모든 하위 테이블(있는 경우)이 추가됩니다. 선택적으로,*을 테이블 이름 뒤에 지정하여 하위 테이블이 포함됨을 명시적으로 나타낼 수 있습니다. 그러나 이는 분할된 테이블에는 적용되지 않습니다. 분할된 테이블의 파티션은 항상 암시적으로 게시의 일부로 간주되므로 게시에 명시적으로 추가되지 않습니다.

영구 기본 테이블과 분할된 테이블만 게시의 일부가 될 수 있습니다. 임시 테이블, 기록되지 않은 테이블, 외부 테이블, 구체화된 뷰 및 일반 뷰는 게시의 일부가 될 수 없습니다.

분할된 테이블이 게시에 추가되면 모든 기존 및 향후 파티션이 암시적으로 게시의 일부로 간주됩니다. 따라서 파티션에서 직접 수행되는 작업도 해당 조상이 속한 게시를 통해 게시됩니다.

모든 테이블에 대해

미래에 생성되는 테이블을 포함하여 데이터베이스의 모든 테이블에 대한 변경 사항을 복제하는 게시로 표시합니다.

함께(publication_parameter [= ] [, ... ] )

이 절은 게시에 대한 선택적 매개변수를 지정합니다. 다음 매개변수가 지원됩니다.

게시 (문자열)

이 매개변수는 새 게시에 의해 구독자에게 게시될 DML 작업을 결정합니다. 값은 쉼표로 구분된 작업 목록입니다. 허용되는 작업은 다음과 같습니다.삽입, 업데이트, 삭제자르기. 기본값은 모든 작업을 게시하는 것이므로 이 옵션의 기본값은'삽입, 업데이트, 삭제, 자르기'.

publish_via_partition_root (부울)

이 매개변수는 게시에 포함된 분할된 테이블(또는 해당 파티션)의 변경 사항이 실제로 변경된 개별 파티션이 아닌 분할된 테이블의 ID 및 스키마를 사용하여 게시되는지 여부를 결정합니다. 후자가 기본값입니다. 이 기능을 활성화하면 파티션을 나누지 않은 테이블이나 다른 파티션 집합으로 구성된 파티션을 나눈 테이블에 변경 사항을 복제할 수 있습니다.

이것이 활성화되면,잘라내기파티션에서 직접 수행된 작업은 복제되지 않습니다.

참고

둘 다 아니라면테이블용아니요모든 테이블에 대해이 지정되면 게시는 빈 테이블 세트로 시작됩니다. 나중에 테이블을 추가할 때 유용합니다.

게시 생성은 복제를 시작하지 않습니다. 향후 구독자를 위한 그룹화 및 필터링 논리만 정의합니다.

게시물을 생성하려면 호출하는 사용자는 다음을 가지고 있어야 합니다.만들기현재 데이터베이스에 대한 권한입니다. (물론 슈퍼유저는 이 검사를 우회합니다.)

출판에 테이블을 추가하려면 호출하는 사용자가 테이블에 대한 소유권을 가지고 있어야 합니다.모든 테이블에 대해절에서는 호출하는 사용자가 수퍼유저여야 합니다.

게시된 출판물에 추가된 테이블업데이트및/또는삭제작업에는 다음이 있어야 합니다.복제본 ID정의되었습니다. 그렇지 않으면 해당 테이블에서 해당 작업이 허용되지 않습니다.

다음을 위해충돌 시 삽입 ...명령을 실행하면 게시는 명령의 결과인 작업을 게시합니다. 결과에 따라 다음 중 하나로 게시될 수 있습니다.삽입또는업데이트, 아니면 전혀 게시되지 않을 수도 있습니다.

첨부다음을 사용하여 루트가 게시된 파티션 트리로 테이블을 생성publish_via_partition_root다음으로 설정됨테이블의 기존 내용이 복제되지 않습니다.

복사 ... 원본명령은 다음과 같이 게시됩니다.삽입작업.

DDL작업이 게시되지 않았습니다.

두 테이블의 모든 변경 사항을 게시하는 게시를 생성합니다:

테이블 사용자, 부서를 위한 사설 토토 생성 mypublication;

모든 테이블의 모든 변경 사항을 게시하는 게시를 만듭니다.

모든 테이블에 대한 사설 토토 생성 생성;

게시만 하는 출판물 생성삽입한 테이블의 작업:

테이블 mydata에 대한 삽입_전용 출판물 생성
    WITH (게시 = '삽입');

호환성

간행물 작성PostgreSQL확장.

수정 사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.