토토 캔 만들기

토토 캔 만들기 - 새 출판물 정의

시놉시스

토토 캔 만들기이름[모든 테이블 용
      | 을 위한publication_object[, ...]]
    [ 와 함께 (publication_parameter[=value] [, ...])여기서publication_object중 하나입니다.테이블 [만]table_name[ *] [(column_name[, ...])] [where (표현)] [, ...]
    스키마 테이블Schema_Name| current_schema [, ...]

설명

토토 캔 만들기현재 데이터베이스에 새 게시물을 추가합니다. 게시 이름은 현재 데이터베이스의 기존 출판물의 이름과 구별되어야합니다.

간행물은 본질적으로 논리적 복제를 통해 데이터 변경이 복제 될 테이블 그룹입니다. 보다PostgreSQL : 문서 : 17 : 29.1. 윈 토토논리적 복제 설정에 토토 캔이 어떻게 적합한 지에 대한 자세한 내용.

매개 변수

이름 #

새 출판물의 이름.

테이블 #

출판물에 추가 할 테이블 목록을 지정합니다. 만약에전용테이블 이름 앞에 지정되어 있으며 해당 테이블 만 게시에 추가됩니다. 만약에전용지정되지 않은 경우 표와 모든 후손 테이블 (있는 경우)이 추가됩니다. 선택적으로,*테이블 이름 후에 지정하여 자손 테이블이 포함되어 있음을 명시 적으로 표시 할 수 있습니다. 그러나 이것은 분할 된 테이블에는 적용되지 않습니다. 분할 된 테이블의 파티션은 항상 출판물의 일부로 암시 적으로 고려되므로 출판물에 명시 적으로 추가되지 않습니다.

선택 사항 인 경우여기서조항이 지정되어 있으며 a를 정의합니다.행 필터표현. 의 행표현False 또는 NULL에 대한 평가는 게시되지 않습니다. 표현 주변에는 괄호가 필요합니다. 그것은 영향을 미치지 않습니다Truncate명령.

열 목록이 지정되면 명명 된 열만 복제됩니다. 열 목록이 지정되지 않은 경우 테이블의 모든 열은 나중에 추가 된 열을 포함 하여이 출판물을 통해 복제됩니다. 그것은 영향을 미치지 않습니다Truncate명령. 보다Postgresql: Tài liệu: 17: 29,5. Danh sá토토 핫 cột열 목록에 대한 자세한 내용.

지속적인베이스 테이블과 분할 된 테이블 만 출판물의 일부가 될 수 있습니다. 임시 테이블, 미화되지 않은 테이블, 외국 테이블, 구체화 된 뷰 및 정기적 인보기는 출판물의 일부가 될 수 없습니다.

토토 캔이 게시 될 때 열 목록 지정스키마 테이블지원되지 않습니다.

파티션 된 테이블이 출판물에 추가되면 기존 및 향후 파티션은 모두 출판물의 일부로 암시 적으로 간주됩니다. 따라서 파티션에서 직접 수행되는 작업조차도 조상이 일부라는 출판물을 통해 출판됩니다.

모든 테이블의 경우 #

발행물은 미래에 생성 된 테이블을 포함하여 데이터베이스의 모든 테이블의 변경 사항을 복제하는 것으로 간행물을 표시합니다.

스키마 테이블 #

발행물은 미래에 생성 된 테이블을 포함하여 지정된 스키마 목록의 모든 테이블의 변경 사항을 복제하는 것으로 간행물을 표시합니다.

발행물이 열 목록이있는 테이블을 게시 할 때 스키마 지정.

스키마에 존재하는 지속적인 기본 테이블 및 파티션 된 테이블 만 출판물의 일부로 포함됩니다. 임시 테이블, 미등성 테이블, 외국 테이블, 구체화 된 뷰 및 스키마의 정기적 인 뷰는 출판물의 일부가 아닙니다.

스키마 레벨 출판을 통해 파티션 된 테이블이 게시되면, 기존 및 향후 파티션은 출판 스키마에서 출판 스키마인지 여부에 관계없이 출판물의 일부로 암시 적으로 간주됩니다. 따라서 파티션에서 직접 수행되는 작업조차도 조상이 일부라는 출판물을 통해 출판됩니다.

with (publication_parameter[=value] [, ...]) #

이 조항은 출판물에 대한 선택적 매개 변수를 지정합니다. 다음 매개 변수가 지원됩니다.

게시(String) #

이 매개 변수는 새로운 출판물에 의해 가입자에게 어떤 DML 작업이 게시 될지 결정합니다. 값은 쉼표로 구분 된 작업 목록입니다. 허용 된 작업은삽입, 업데이트, 삭제Truncate. 기본값은 모든 작업을 게시하는 것이므로이 옵션의 기본값은입니다.'삽입, 업데이트, 삭제, 자르기'.

이 매개 변수는 DML 작업에만 영향을 미칩니다. 특히 초기 데이터 동기화 (참조섹션 29.8.1) 논리적 복제의 경우 기존 테이블 데이터를 복사 할 때이 매개 변수를 고려하지 않습니다.

publish_via_partition_root(부울) #

이 매개 변수는 출판물에 포함 된 파티션 된 테이블 (또는 파티션)의 변경이 실제로 변경된 개별 파티션보다는 분할 된 테이블의 신원 및 스키마를 사용하여 게시 될지 여부를 결정합니다. 후자는 기본값입니다. 이를 활성화하면 변경 사항을 분리되지 않은 테이블 또는 다른 파티션 세트로 구성된 분할 된 테이블로 복제 할 수 있습니다.

구독이 여러 간행물을 결합한 경우가있을 수 있습니다. 파티션 된 테이블이 구독 된 출판물에서 게시 한 경우publish_via_partition_root = true,이 분할 된 테이블 (또는 파티션)의 변경 사항은 개별 파티션보다는이 분할 된 테이블의 신원 및 스키마를 사용하여 게시됩니다..

이 매개 변수는 또한 행 필터 및 열 목록이 파티션을 위해 선택되는 방법에도 영향을 미칩니다. 자세한 내용은 아래를 참조하십시오.

이것이 활성화 된 경우Truncate파티션에서 직접 수행되는 작업은 복제되지 않습니다.

유형의 매개 변수를 지정할 때부울, The= value부품을 생략 할 수 있습니다. 이는 지정과 동일합니다true.

노트

if테이블, 모든 테이블의 경우또는스키마 테이블지정되지 않으면 출판물은 빈 테이블 세트로 시작됩니다. 테이블이나 스키마가 나중에 추가 될 경우 유용합니다.

토토 캔 생성은 복제를 시작하지 않습니다. 미래의 가입자를위한 그룹화 및 필터링 로직 만 정의합니다.

토토 캔을 만들려면 호출 사용자에게는가 있어야합니다.생성현재 데이터베이스의 권한. (물론, 슈퍼 유저는이 점검을 우회합니다.)

발행물에 테이블을 추가하려면 호출 사용자는 테이블에 소유권 권한이 있어야합니다. 그만큼모든 테이블and스키마 테이블조항은 호출 사용자가 슈퍼업자가되도록 요구합니다.

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

열 목록은를 포함해야합니다.복제 아이덴티티업데이트또는삭제게시 할 작업. 출판물이 게시하는 경우 열 목록 제한이 없습니다삽입운영.

행 필터 표현식 (예 :여기서조항)는에서 다루는 열만 포함해야합니다.복제 아이덴티티업데이트and삭제게시 할 작업. 출판을 위해삽입운영, 모든 열에서에서 사용할 수 있습니다.여기서표현. 행 필터는 사용자 정의 기능, 사용자 정의 연산자, 사용자 정의 유형, 사용자 정의 콜라주, 비 면재 불가능한 내장 기능 또는 시스템 열에 대한 참조가없는 간단한 표현식을 허용합니다..

테이블의 행 필터가 중복됩니다.스키마 테이블지정되어 있고 표는 참조 스키마에 속합니다.

게시 된 파티션 테이블의 경우 각 파티션의 행 필터는 게시 된 파티션 테이블에서 가져옵니다.publish_via_partition_root는 false (기본값) 인 경우 파티션 자체에서 true입니다. 보다PostgreSQL : 문서 : 17 : 29.4. 행 토토 커뮤니티행 필터에 대한 자세한 내용. 마찬가지로 게시 된 파티션 테이블의 경우 각 파티션의 열 목록은 게시 된 파티션 테이블에서 가져옵니다.publish_via_partition_root가 사실이거나 파티션 자체가 거짓 인 경우 파티션 자체에서.

삽입 ... 충돌명령에 따라 출판물은 명령에서 발생하는 작업을 게시합니다. 결과에 따라, 그것은 어느 쪽이든 출판 될 수 있습니다삽입또는업데이트또는 전혀 게시되지 않을 수도 있습니다.

a병합명령, 출판물이 게시됩니다삽입, 업데이트또는삭제삽입, 업데이트 또는 삭제 된 각 행의 경우

첨부테이블을 파티션 트리에 넣는 뿌리가 출판 된 출판물을 사용하여publish_via_partition_root설정true테이블의 기존 내용이 복제되지 않습니다.

COPY ... From명령은로 게시됩니다.삽입운영.

DDL운영이 게시되지 않았습니다.

the여기서조항 표현식은 복제 연결에 사용 된 역할을 통해 실행됩니다.

예제

두 표에 모든 변경 사항을 게시하는 출판물 작성 :

테이블 사용자, 부서를위한 간행물 mypublication 만들기;

활성 부서의 모든 변경 사항을 게시하는 출판물 작성 :

테이블 부서에 대한 출판물 생성 (Active Is True);

모든 테이블의 모든 변경 사항을 게시하는 출판물 작성 :

모든 테이블에 대한 출판물 AllTables 만들기;

게시 만 게시하는 토토 캔 만들기삽입한 테이블의 작업 :

테이블 myData에 대한 insert_only를 작성합니다
    with (publish = 'insert');

테이블에 대한 모든 변경 사항을 게시하는 출판물 작성사용자, 부서그리고 스키마에 존재하는 모든 테이블에 대한 모든 변경 사항생산:

테이블 사용자, 부서, 스키마 프로덕션 테이블을위한 출판물 생성 생성 _publication;

Schemas에있는 모든 테이블에 대한 모든 변경 사항을 게시하는 출판물 작성마케팅판매:

스키마 마케팅, 판매 테이블에 대한 Publication Sales_publication 만들기;

표에 대한 모든 변경 사항을 게시하는 출판물 작성사용자이지만 열만 복제user_idandFirstName:

publication useration users_fileders user (user_id, firstName);

호환성

토토 캔 만들기isPostgreSQL확장.

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면