토토 생성

토토 생성 - 새 토토 정의

시놉시스

토토 생성subscription_name연결 'Conninfo'
    출판publication_name[, ...]
    [ 와 함께 (Subscription_Parameter[=value] [, ...])

설명

토토 생성새로운 논리적 반복 토토을 추가합니다. 토토 이름은 현재 데이터베이스의 기존 토토 이름과 구별되어야합니다.

토토은 게시자에 대한 복제 연결을 나타냅니다. 따라서 로컬 카탈로그에 정의를 추가하는 것 외에도이 명령은 일반적으로 게시자에 복제 슬롯을 만듭니다.

논리적 복제 작업자는 토토이 처음 비활성화되지 않는 한이 명령이 실행되는 트랜잭션 커밋에서 새 토토에 대한 데이터를 복제하기 시작합니다.

토토 및 논리 복제에 대한 추가 정보 전체에서 사용할 수 있습니다롤 토토andPostgreSQL : 문서 : 15 : 31 장. 논리 토토.

매개 변수

subscription_name

새 토토의 이름.

연결 'Conninfo'

thelibpq연결 문자열이 게시자 데이터베이스에 연결하는 방법을 정의합니다. 자세한 내용은 참조섹션 34.1.1.

Publicationpublication_name[, ...]

토토 할 게시자의 출판물 이름.

with (Subscription_Parameter[=value] [, ...])

이 조항은 토토의 선택적 매개 변수를 지정합니다.

다음 매개 변수는 토토 생성 중에 발생하는 일을 제어합니다.

Connect(부울)

토토 생성명령은 게시자에게 전혀 연결해야합니다. 기본값은true. 이것을 설정false의 값을 강요 할 것입니다create_slot, 활성화andCopy_Datato거짓. (설정을 결합 할 수 없습니다Connecttofalse설정create_slot, 활성화또는Copy_Datatotrue.)

이 옵션이있을 때 연결되지 않으므로false, 테이블이 토토되지 않으므로 토토을 활성화 한 후에는 아무것도 복제되지 않습니다. 그런 다음 실행해야합니다토토 변경 ... 새로 고침 출판표가 토토 할 테이블.

create_slot(부울)

명령이 게시자에 복제 슬롯을 생성 해야하는지 여부를 지정합니다. 기본값은true. 로 설정된 경우거짓, 당신은 다른 방법으로 게시자의 슬롯을 만들 책임이 있습니다.

활성화(12524_12533)

토토이 적극적으로 복제되어야하는지 또는 아직 설정되어야하지만 아직 시작되지 않았는지 여부를 지정합니다. 기본값은true.

slot_name(String)

사용할 게시자의 복제 슬롯의 이름. 기본값은 슬롯 이름의 토토 이름을 사용하는 것입니다.

설정slot_nameto없음가입과 관련된 복제 슬롯이 없음을 의미합니다. 나중에 복제 슬롯을 수동으로 생성 할 때 이것을 사용하십시오. 이러한 토토에는 둘 다 있어야합니다활성화create_slot설정거짓.

다음 매개 변수는 토토의 복제 동작이 생성 된 후에 :을 제어합니다.

BINAGE(부울)

토토이 게시자에게 텍스트와 달리 이진 형식으로 데이터를 보내도록 요청할지 여부를 지정합니다. 기본값은거짓. 이 옵션이 활성화 되더라도 바이너리 송신 및 수신 기능이있는 데이터 유형 만 바이너리로 전송됩니다.

교차 버전 복제를 수행 할 때 게시자는 일부 데이터 유형에 대한 이진 보내기 기능이 있지만 가입자는 해당 유형에 대한 이진 수신 기능이 부족할 수 있습니다. 이 경우 데이터 전송이 실패하고BINAGE옵션을 사용할 수 없습니다.

Copy_Data(부울)

복제가 시작될 때 토토중인 간행물에서 기존 데이터를 복사할지 여부를 지정합니다. 기본값은True.

간행물에 포함 된 경우여기서조항은 복사 된 데이터에 영향을 미칩니다. 참조노트자세한 내용.

스트리밍(부울)

이 가입에 대한 진행중인 트랜잭션 스트리밍을 활성화할지 여부를 지정합니다. 기본적으로 모든 트랜잭션은 게시자에 완전히 디코딩되며 가입자 전체에만 전송됩니다.

synchronous_commit(enum)

이 매개 변수의 값은를 무시합니다.synchronous_commit이 토토의 적용 작업자 프로세스 내에서 설정. 기본값은입니다.OFF.

사용하기에 안전합니다OFF논리적 복제의 경우 : 가입자가 동기화 누락으로 인해 트랜잭션을 잃으면 데이터가 게시자로부터 다시 전송됩니다..

동기 논리 복제를 수행 할 때 다른 설정이 적절할 수 있습니다. 논리적 복제 작업자는 글의 위치를보고하고 플러시가 게시자에게보고하며, 동기 복제를 사용할 때 게시자는 실제 플러시를 기다립니다. 이것은 설정을 의미synchronous_commit가입자의 경우OFF토토이 동기 복제에 사용되는 경우 대기 시간이 증가 할 수 있습니다.커밋출판사에서. 이 시나리오에서는 설정하는 것이 유리할 수 있습니다synchronous_committoLocal이상.

Two_Phase(부울)

이 토토에 대해 2 단계 커밋이 활성화되어 있는지 여부를 지정합니다. 기본값은거짓.

2 단계 커밋이 활성화되면 준비된 트랜잭션이 가입자에게 전송됩니다.거래 준비, 가입자의 2 단계 트랜잭션으로 처리됩니다. 그렇지 않으면, 준비된 거래는 커밋 된 경우에만 가입자에게 전송 된 다음 가입자가 즉시 처리됩니다.

2 단계 커밋의 구현을 위해서는 복제가 초기 테이블 동기화 단계를 성공적으로 완료해야합니다. 그래서Two_Phase토토에 대해 활성화되면 내부 2 단계 상태는 일시적으로 유지됩니다보류 중초기화 단계가 완료 될 때까지. 열 참조subtwophasestateofpg_subscription실제 2 상 상태를 알기 위해.

disable_on_error(부울)

게시자의 데이터 복제 중에 가입 작업자가 오류를 감지하면 토토이 자동으로 비활성화되어야하는지 여부를 지정합니다. 기본값은거짓.

노트

참조토토 핫 PostgreSQL : 문서 : 15 : 31.9. 보안토토 및 게시 인스턴스 간의 액세스 제어를 구성하는 방법에 대한 자세한 내용.

복제 슬롯을 만들 때 (기본 동작),토토 생성트랜잭션 블록 내부에서 실행할 수 없습니다.

동일한 데이터베이스 클러스터에 연결되는 토토 생성 (예 : 동일한 클러스터의 데이터베이스간에 복제하거나 동일한 데이터베이스 내에서 복제하기 위해)은 복제 슬롯이 동일한 명령의 일부로 생성되지 않은 경우에만 성공합니다. 그렇지 않으면토토 생성전화가 중단됩니다. 이 작동하려면 복제 슬롯을 별도로 만듭니다 (함수 사용pg_create_logical_replication_slot플러그인 이름pgoutput) 및 매개 변수를 사용하여 토토 생성create_slot = false. 이것은 향후 릴리스에서 해제 될 수있는 구현 제한입니다.

출판물에있는 테이블이있는 경우여기서조항, 행표현false 또는 null에 대한 평가는 게시되지 않습니다. 토토에 동일한 테이블이 다른 것으로 게시 된 몇 가지 간행물이있는 경우여기서Clauses, 표현이 해당 출판사를 참조하는 경우 행이 게시됩니다. 다른 경우여기서출판물 중 하나에 없으면 조항여기서절 (해당 게시 작업 참조) 또는 간행물은로 선언됩니다.모든 테이블의 경우또는스키마 테이블, 행은 다른 표현의 정의에 관계없이 항상 게시됩니다. 가입자가 A 인 경우PostgreSQL버전 15 이전의 버전은 초기 데이터 동기화 단계에서 행 필터링이 무시됩니다. 이 경우 사용자는 후속 필터링과 호환되지 않는 처음 복사 된 데이터 삭제를 고려할 수 있습니다. 초기 데이터 동기화가 출판물을 고려하지 않기 때문에게시매개 변수 기존 테이블 데이터를 복사 할 때 DML을 사용하여 복제되지 않는 일부 행을 복사 할 수 있습니다. 보다섹션 31.2.2예제.

다른 열 목록으로 동일한 테이블이 게시 된 여러 간행물이있는 토토은 지원되지 않습니다.

우리는 사용자가 나중에 이들을 추가 할 수 있도록 존재하지 않는 출판물을 지정할 수 있습니다. 이것은 의미pg_subscription존재하지 않는 출판물을 가질 수 있습니다.

간행물에서 테이블을 복제하는 원격 서버 토토 생성MyPublicationandinsert_only그리고 즉시 커밋에서 복제를 시작합니다 :

토토 생성 MySub
         연결 '호스트 = 192.168.1.50 포트 = 5432 사용자 = foo dbname = foodb'
        간행물 mypublication, insert_only;

에서 테이블을 복제하는 원격 서버에 대한 토토 생성insert_only출판 및 나중에 활성화 될 때까지 복제를 시작하지 않습니다.

토토 생성 MySub
         연결 '호스트 = 192.168.1.50 포트 = 5432 사용자 = foo dbname = foodb'
        출판물 insert_only
               (enabled = false);

호환성

토토 생성isPostgreSQL확장.

정정 제출

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