사설 토토 만들기 - 새 출판물 정의
사설 토토 만들기이름
[표 [만]table_name
[ *] [, ...] | 모든 테이블에 대해] [ 와 함께 (publication_parameter
[=value
] [, ...])
사설 토토 만들기
현재 데이터베이스에 새 게시물을 추가합니다. 게시 이름은 현재 데이터베이스의 기존 출판물의 이름과 구별되어야합니다.
간행물은 본질적으로 논리적 복제를 통해 데이터 변경이 복제 될 테이블 그룹입니다. 보다PostgreSQL : 문서 : 14 : 31.1. 롤 토토논리적 복제 설정에 사설 토토이 어떻게 적합한 지에 대한 자세한 내용.
이름
새 출판물의 이름.
테이블
출판물에 추가 할 테이블 목록을 지정합니다. 만약에전용
테이블 이름 앞에 지정되어 있으며 해당 테이블 만 게시에 추가됩니다. 만약에전용
는 지정되지 않았으며, 테이블과 모든 후손 테이블 (있는 경우)이 추가됩니다. 선택적으로,*
테이블 이름 후에 지정하여 자손 테이블이 포함되어 있음을 명시 적으로 표시 할 수 있습니다. 그러나 이것은 분할 된 테이블에는 적용되지 않습니다. 분할 된 테이블의 파티션은 항상 출판물의 일부로 암시 적으로 고려되므로 출판물에 명시 적으로 추가되지 않습니다.
지속적인베이스 테이블과 분할 된 테이블 만 출판물의 일부가 될 수 있습니다. 임시 테이블, 미화되지 않은 테이블, 외국 테이블, 구체화 된 뷰 및 정기적 인보기는 출판물의 일부가 될 수 없습니다.
파티션 된 테이블이 출판물에 추가되면 기존 및 향후 파티션은 암시 적으로 출판물의 일부로 간주됩니다. 따라서 파티션에서 직접 수행되는 작업조차도 조상이 일부라는 출판물을 통해 출판됩니다.
모든 테이블의 경우
발행물은 미래에 생성 된 테이블을 포함하여 데이터베이스의 모든 테이블의 변경 사항을 복제하는 것으로 간행물을 표시합니다.
with (publication_parameter
[=value
] [, ...])
이 절은 출판물에 대한 선택적 매개 변수를 지정합니다. 다음 매개 변수가 지원됩니다.
게시
(String
)이 매개 변수는 새로운 출판물에 의해 구독자에게 게시 될 DML 작업이 어떤 DML 작업을 게시합니다. 값은 쉼표로 구분 된 작업 목록입니다. 허용 된 작업은삽입
, 업데이트
, 삭제
및Truncate
. 기본값은 모든 작업을 게시하는 것이므로이 옵션의 기본값은입니다.'삽입, 업데이트, 삭제, Truncate'
.
publish_via_partition_root
(부울
)이 매개 변수는 출판물에 포함 된 파티션 된 테이블 (또는 파티션)의 변경이 실제로 변경된 개별 파티션보다는 분할 된 테이블의 신원 및 스키마를 사용하여 게시 될지 여부를 결정합니다. 후자는 기본값입니다. 이를 활성화하면 변경 사항을 분리되지 않은 테이블 또는 다른 파티션 세트로 구성된 분할 된 테이블로 복제 할 수 있습니다.
이것이 활성화 된 경우Truncate
파티션에서 직접 수행되는 작업은 복제되지 않습니다.
그렇지 않은 경우테이블
NOR모든 테이블
지정되어 있으며, 출판물은 빈 테이블 세트로 시작됩니다. 나중에 테이블을 추가하려면 유용합니다.
사설 토토 생성은 복제를 시작하지 않습니다. 미래의 가입자를위한 그룹화 및 필터링 로직 만 정의합니다.
사설 토토을 만들려면 호출 사용자에게는가 있어야합니다.생성
현재 데이터베이스의 권한. (물론, 슈퍼 유저는이 점검을 우회합니다.)
출판물에 테이블을 추가하려면 호출 사용자는 테이블에 소유권이 있어야합니다. 그만큼모든 테이블의 경우
조항은 사용자를 슈퍼업자로 삼아야합니다.
게시하는 출판물에 추가 된 테이블업데이트
및/또는삭제
운영이 있어야합니다복제 아이덴티티
정의. 그렇지 않으면 해당 작업은 해당 테이블에서 허용되지 않습니다.
용삽입 ... 충돌
명령에 따라 게시물은 명령에서 발생하는 작업을 게시합니다. 결과에 따라, 그것은 어느 쪽이든 출판 될 수 있습니다삽입
또는업데이트
또는 전혀 게시되지 않을 수도 있습니다.
첨부
테이블을 파티션 트리에 넣는 뿌리가 출판 된 출판물을 사용하여publish_via_partition_root
설정true
테이블의 기존 내용이 복제되지 않습니다.
COPY ... From
명령은로 게시됩니다.삽입
운영.
DDL운영이 게시되지 않았습니다.
두 테이블에 모든 변경 사항을 게시하는 출판물 작성 :
테이블 사용자, 부서를위한 간행물 mypublication 만들기;
모든 테이블의 모든 변경 사항을 게시하는 출판물 작성 :
모든 테이블에 대한 출판물 AllTables 만들기;
게시 만 게시하는 사설 토토 만들기삽입
한 테이블의 작업 :
테이블 myData 용 insert_only를 작성하십시오 with (publish = 'insert');
출판 생성
isPostgreSQL확장.
문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면