31.5. 충돌

논리적 사설 토토 사이트는 구독자 노드에서 로컬로 변경된 경우에도 데이터가 업데이트된다는 점에서 일반 DML 작업과 유사하게 작동합니다. 들어오는 데이터가 제약 조건을 위반하면 사설 토토 사이트가 중지됩니다. 이를 a라고 합니다.충돌. 사설 토토 사이트할 때업데이트또는삭제작업, 누락된 데이터는 충돌을 일으키지 않으며 이러한 작업은 단순히 건너뛰게 됩니다.

논리적 복제 작업은 구독을 소유한 역할의 권한으로 수행됩니다. 대상 테이블에 대한 권한 실패로 인해 복제 충돌이 발생합니다.PostgreSQL : 문서 : 15 : 5.8. 보안 토토 사이트 추천 행정책이 일반적으로 거부하는지 여부에 관계없이 구독 소유자가 적용되는 대상 테이블에서삽입, 업데이트, 삭제또는잘라내기복제 중입니다. 행 수준 보안에 대한 이 제한은 향후 버전에서 해제될 수 있습니다.포스트그레SQL.

충돌로 인해 오류가 발생하고 복제가 중지됩니다. 사용자가 수동으로 해결해야 합니다. 충돌에 대한 자세한 내용은 구독자의 서버 로그에서 확인할 수 있습니다.

해결책은 구독자의 데이터 또는 권한을 변경하여 들어오는 변경 사항과 충돌하지 않도록 하거나 기존 데이터와 충돌하는 트랜잭션을 건너뛰는 방식으로 수행할 수 있습니다. 충돌로 인해 오류가 발생하면 복제가 진행되지 않고 논리적 복제 작업자가 구독자의 서버 로그에 다음과 같은 종류의 메시지를 내보냅니다.

오류: 중복 키 값이 고유 제약 조건 "test_pkey"를 위반합니다.
세부사항: 키 (c)=(1)이 이미 존재합니다.
CONTEXT: 트랜잭션 725의 사설 토토 사이트 대상 관계 "public.test"에 대한 "INSERT" 중 사설 토토 사이트 원본 "pg_16395"에 대한 원격 데이터 처리가 0/14C0378에 완료되었습니다.

제약조건을 위반한 변경사항이 포함된 트랜잭션의 LSN과 사설 토토 사이트 원본 이름은 서버 로그에서 확인할 수 있습니다(LSN 0/14C0378 및 사설 토토 사이트 원본pg_16395위의 경우). 충돌을 일으킨 트랜잭션은 다음을 사용하여 건너뛸 수 있습니다.구독 변경 ... 건너뛰기마감 LSN 포함(예: LSN 0/14C0378). 종료 LSN은 게시자에서 트랜잭션이 커밋되거나 준비되는 LSN일 수 있습니다. 또는를 호출하여 트랜잭션을 건너뛸 수도 있습니다.pg_replication_origin_advance()함수. 이 기능을 사용하기 전에 구독을 일시적으로 비활성화해야 합니다.구독 변경 ... 비활성화또는 다음과 함께 구독을 사용할 수 있습니다.disable_on_error옵션. 그런 다음 다음을 사용할 수 있습니다.pg_replication_origin_advance()함수노드_이름(즉,pg_16395) 및 마무리 LSN의 다음 LSN(예: 0/14C0379)입니다. 현재 원점 위치는에서 볼 수 있습니다.pg_replication_origin_status시스템 보기. 전체 트랜잭션을 건너뛰는 것은 어떠한 제약 조건도 위반하지 않을 수 있는 변경 사항을 건너뛰는 것을 포함합니다. 이로 인해 구독자의 일관성이 쉽게 떨어질 수 있습니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.