메이저 토토 사이트 생성

메이저 토토 사이트 생성 - 새 구독 정의

시놉시스

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

설명

메이저 토토 사이트 생성새로운 논리적 반복 메이저 토토 사이트을 추가합니다. 메이저 토토 사이트을 생성하는 사용자는 메이저 토토 사이트의 소유자가됩니다. 메이저 토토 사이트 이름은 현재 데이터베이스의 기존 메이저 토토 사이트 이름과 구별되어야합니다.

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

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

메이저 토토 사이트을 만들 수 있으려면의 권한이 있어야합니다.pg_create_subscription역할 및생성현재 데이터베이스의 권한.

메이저 토토 사이트 및 논리 복제에 대한 추가 정보 전체에서 사용할 수 있습니다네삼_배트맨 토토07andPostgreSQL : 문서 : 17 : 29 장. 논리적 사설 토토.

매개 변수

subscription_name #

새 메이저 토토 사이트의 이름.

연결 'Conninfo' #

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

Publicationpublication_name[, ...] #

게시자가 메이저 토토 사이트 할 간행물의 이름.

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

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

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

Connect(부울) #

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

이 옵션이있을 때 연결되지 않으므로거짓, 테이블이 구독되지 않습니다. 복제를 시작하려면 복제 슬롯을 수동으로 생성하고 필요한 경우 장애 조치를 활성화하고 구독을 활성화 한 후 구독을 새로 고침해야합니다. 보다섹션 29.2.3예제.

create_slot(부울) #

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

로 설정된 경우거짓, 당신은 다른 방법으로 게시자의 슬롯을 만들 책임이 있습니다. 보다섹션 29.2.3예제.

활성화(부울) #

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

SLOT_NAME(String) #

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

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

설정시slot_name유효한 이름으로create_slot거짓으로,Failover지정된 슬롯의 속성 값은 상대방과 다를 수 있습니다Failover구독에 지정된 매개 변수. 항상 슬롯 속성을 보장Failover구독의 상대방 매개 변수와 일치하며 그 반대도 마찬가지입니다. 그렇지 않으면, 게시자의 슬롯은 이러한 구독 옵션과 다르게 행동 할 수 있습니다. 예를 들어, 게시자의 슬롯은 구독이에도 대기와 동기화 될 수 있습니다.Failover옵션이 비활성화되었거나 구독이있을 때에도 동기화에 비활성화 될 수 있습니다Failover옵션이 활성화되었습니다.

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

binary(부울) #

메이저 토토 사이트이 게시자에게 텍스트와 달리 데이터를 이진 형식으로 보내도록 요청할지 여부를 지정합니다. 기본값은false. 초기 테이블 동기화 사본 (참조Copy_Data)도 동일한 형식을 사용합니다. 이진 형식은 텍스트 형식보다 빠를 수 있지만 기계 아키텍처에서 휴대용이 덜 휴대합니다.PostgreSQL버전. 이진 형식은 매우 데이터 유형에 따라 다릅니다. 예를 들어, A에서 복사 할 수 없습니다.smallint열에서Integer열은 텍스트 형식으로 잘 작동하지만. 이 옵션이 활성화 되더라도 바이너리 보내기 및 수신 기능이있는 데이터 유형 만 바이너리로 전송됩니다. 초기 동기화에는 모든 데이터 유형이 바이너리 보내기 및 수신 함수를 갖도록 요구합니다. 그렇지 않으면 동기화가 실패합니다 (참조유형 만들기기능에 대한 자세한 내용).

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

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

Copy_Data(부울) #

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

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

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

스트리밍(enum) #

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

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

로 설정된 경우병렬, 들어오는 변경 사항은 가능한 경우 병렬 적용 작업자 중 하나를 통해 직접 적용됩니다. 병렬 적 신청 작업자가 스트리밍 트랜잭션을 자유롭게 처리 할 수없는 경우 변경 사항은 임시 파일에 기록되고 거래가 커밋 된 후에 적용됩니다. 병렬 적용 작업자에서 오류가 발생하면 원격 트랜잭션의 마무리 LSN이 서버 로그에서보고되지 않을 수 있습니다.

synchronous_commit(enum) #

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

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

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

Two_phase(부울) #

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

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

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

disable_on_error(부울) #

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

password_required(부울) #

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

run_as_owner(부울) #

TRUE 인 경우 모든 복제 작업은 가입 소유자로 수행됩니다. False 인 경우 복제 작업자는 해당 테이블의 소유자로 각 테이블에서 작업을 수행합니다. 후자의 구성은 일반적으로 훨씬 더 안전합니다. 자세한 내용은 참조PostgreSQL : 문서 : 17 : 29.10. 범퍼카 토토. 기본값은false.

원산지(String) #

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

참조노트방법에 대한 세부 사항copy_data = true와 상호 작용할 수 있습니다원산지매개 변수.

Failover(부울) #

가입과 관련된 복제 슬롯이 실패 후 새로운 기본에서 논리적 복제를 재개 할 수 있도록 구독과 관련된 복제 슬롯이 대기에 동기화 될 수 있는지 여부를 지정합니다. 기본값은false.

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

노트

참조PostgreSQL : 문서 : 17 : 29.10. 범퍼카 토토구독 및 게시 인스턴스 간의 액세스 제어를 구성하는 방법에 대한 자세한 내용.

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

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

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

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

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

구독 매개 변수 조합을 사용할 때copy_data = true원산지 = 없음, 초기 동기화 테이블 데이터는 게시자로부터 직접 복사되므로 해당 데이터의 실제 기원에 대한 지식이 불가능하다는 것을 의미합니다. 게시자에 구독이있는 경우 복사 된 테이블 데이터가 추가 업스트림에서 시작되었을 수 있습니다. 이 시나리오가 감지되고 경고가 사용자에게 기록되어 있지만 경고는 잠재적 인 문제를 나타내는 것입니다. 복사 된 데이터 원산지가 실제로 원하는지 아닌지 확인하기 위해 필요한 점검을하는 것은 사용자의 책임입니다.

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

## 대체 <pub-names 아래의 출판물 이름이 쿼리 될 예정
별도의 pt.schemaname, pt.tablename을 선택하십시오
pg_publication_tables pt
     pg_class c에 가입하십시오 (c.relname = pt.tablename)
     pg_namespace n on (n.nspname = pt.schemaname),
     pg_subscription_rel ps
여기서 c.relnamespace = n.oid 및
      (ps.srrelid = C.Oid 또는
      C.Oid in (PG_PARTITION_ANCESSTORS (PS.SRRELID) UNION에서 RELID를 선택하십시오
                pg_partition_tree (ps.srrelid))))에서 린드를 선택하십시오
      Pt.pubName in (<pub-names);

예제

간행물에서 테이블을 복제하는 원격 서버 메이저 토토 사이트 생성MyPublicationandinsert_onlyCommit에서 즉시 복제를 시작합니다 :

메이저 토토 사이트 생성 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확장.

수정 제출

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