와이즈 토토 생성

와이즈 토토 생성 - 새 구독 정의

시놉시스

와이즈 토토 생성subscription_name연결 'Conninfo'publication_name[, ...]Subscription_Parameter[=value] [, ...])

설명

와이즈 토토 생성새로운 논리적 반복 와이즈 토토을 추가합니다. 와이즈 토토을 생성하는 사용자는 와이즈 토토의 소유자가됩니다.

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

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

와이즈 토토을 만들 수 있으려면의 권한이 있어야합니다.pg_create_subscription역할 및Create현재 데이터베이스의 권한.

와이즈 토토 및 논리 복제에 대한 추가 정보 전체에서 사용할 수 있습니다섹션 31.2제 31 장.

매개 변수

subscription_name #

새 와이즈 토토의 이름.

연결 'Conninfo' #

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

Publicationpublication_name[, ...] #

출판사의 출판물 이름을 와이즈 토토합니다.

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

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

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

Connect (부울) #

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

이 옵션이있을 때 연결되지 않으므로false, 표가 구독되지 않습니다. 복제를 시작하려면 복제 슬롯을 수동으로 생성하고 구독을 활성화하고 구독을 새로 고치십시오.섹션 31.2.3예제.

create_slot (부울) #

명령이 게시자에 복제 슬롯을 생성 해야하는지 여부를 지정합니다. 기본값은true.

로 설정된 경우false, 귀하는 다른 방식으로 게시자의 슬롯을 작성해야합니다. 보다섹션 31.2.3예제.

활성화 (부울) #

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

slot_name (String) #

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

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

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

BINAGE (부울) #

와이즈 토토이 게시자에게 데이터를 이진 형식으로 보내도록 요청할지 여부를 지정합니다 (텍스트와 반대). 기본값은false. 초기 테이블 동기화 사본 (참조Copy_Data)도 동일한 형식을 사용합니다. 이진 형식은 텍스트 형식보다 빠를 수 있지만 기계 아키텍처에서 휴대용이 덜 휴대합니다.PostgreSQL버전. 이진 형식은 매우 데이터 유형에 따라 다릅니다.smallint열에서정수열은 텍스트 형식으로 잘 작동하지만. 이 옵션이 활성화 되더라도 바이너리 보내기 및 수신 기능이있는 데이터 유형 만 바이너리로 전송됩니다.유형 만들기기능에 대한 자세한 내용은 기능).

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

게시자가 A 인 경우PostgreSQL16 이전 버전, 그러면 초기 테이블 동기화는 텍스트 형식을 사용하더라도BINAGE = true.

Copy_Data (부울) #

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

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

참조노트방법에 대한 세부 사항copy_data = true원산지매개 변수.

스트리밍 (enum) #

이 구독에 대한 진행중인 트랜잭션 스트리밍을 활성화할지 여부를 지정합니다. 기본값은입니다.OFF, 즉 모든 트랜잭션이 게시자에서 완전히 디코딩 된 다음 구독자에게만 전송됩니다.

로 설정된 경우on, 들어오는 변경 사항은 임시 파일에 기록 된 다음 거래가 게시자에게 커밋되고 가입자가 수신 한 후에 만 ​​적용됩니다..

로 설정된 경우병렬, 들어오는 변경 사항은 가능한 경우 병렬 적 신청 작업자 중 하나를 통해 직접 적용됩니다. 병렬 적 신청 작업자가 스트리밍 트랜잭션을 자유롭게 처리 할 수없는 경우 변경 사항은 임시 파일에 기록되고 거래가 커밋 된 후에 적용됩니다.

synchronous_commit (enum) #

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

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

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

Two_Phase (부울) #

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

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

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

disable_on_error (부울) #

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

password_required (부울) #

로 설정된 경우true,이 구독의 결과로 작성된 게시자에 대한 연결은 비밀번호 인증을 사용해야하며 비밀번호는 연결 문자열의 일부로 지정되어야합니다. 이 설정은 슈퍼 사용자가 구독을 소유 할 때 무시됩니다.true. 수퍼 유저만이 값을로 설정할 수 있습니다.false.

run_as_owner (부울) #

true 인 경우 모든 복제 작업은 가입 소유자로 수행됩니다. False 인 경우 복제 작업자는 해당 테이블의 소유자로 각 테이블에서 작업을 수행합니다.섹션 31.9. 기본값은false.

원산지 (String) #

구독이 출판사에게 원산지에 관계없이 원점이없는 변경 사항 만 보내거나 변경 사항을 보내도록 요청할지 여부를 지정합니다. 환경원산지to없음와이즈 토토은 게시자에게 출처가없는 변경 사항 만 보내도록 요청한다는 것을 의미합니다. 환경원산지toany는 출판사가 원산지에 관계없이 변경 사항을 보낸다는 것을 의미합니다. 기본값은any.

참조노트방법에 대한 세부 사항copy_data = true원산지매개 변수.

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

노트

참조섹션 31.9구독 및 게시 인스턴스 간의 액세스 제어를 구성하는 방법에 대한 자세한 내용.

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

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

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

다른 열 목록과 함께 동일한 테이블이 게시 된 여러 간행물이있는 구독은 지원되지 않습니다.

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

구독 매개 변수 조합을 사용할 때copy_data = true원산지 = 없음, 초기 동기화 테이블 데이터는 게시자로부터 직접 복사되므로 해당 데이터의 실제 기원에 대한 지식이 불가능하다는 것을 의미합니다. 게시자에 구독이있는 경우 복사 된 테이블 데이터가 추가 업스트림에서 시작되었을 수 있습니다.

게시자에 생성 된 다른 구독으로 인해 비 국소 기원을 포함 할 수있는 테이블을 찾으려면이 SQL 쿼리를 시도하십시오.

## 대체  아래의 출판물 이름이 쿼리 될 예정

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

와이즈 토토 생성 MySub

|insert_only출판 및 나중에 활성화 될 때까지 복제를 시작하지 않습니다.

​​와이즈 토토 생성 MySub

호환성

와이즈 토토 생성isPostgreSQL확장.

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면