일부 DDL 명령, 현재만잘라내기및 테이블 재작성 형식테이블 변경은 MVCC에 안전하지 않습니다. 이는 자르기 또는 재작성 커밋 후 DDL 명령이 커밋되기 전에 생성된 스냅샷을 사용하는 경우 동시 트랜잭션에 테이블이 비어 있는 것으로 나타남을 의미합니다. 이는 DDL 명령이 시작되기 전에 문제의 테이블에 액세스하지 않은 트랜잭션에 대해서만 문제가 됩니다. 그렇게 한 모든 트랜잭션은 최소한액세스 공유테이블 잠금. 해당 트랜잭션이 완료될 때까지 DDL 명령을 차단합니다. 따라서 이러한 명령은 대상 테이블의 연속 쿼리에 대한 테이블 내용에 명백한 불일치를 일으키지 않지만 대상 테이블의 내용과 데이터베이스의 다른 테이블 사이에 눈에 띄는 불일치를 일으킬 수 있습니다.
직렬 가능 트랜잭션 격리 수준에 대한 지원은 아직 상시 대기 복제 대상에 추가되지 않았습니다(설명 참조)PostgreSQL : 문서 : 14 : 27.4. 뜨거운 사설 토토). 현재 상시 대기 모드에서 지원되는 가장 엄격한 격리 수준은 반복 읽기입니다. 기본의 직렬화 가능 트랜잭션 내에서 모든 영구 데이터베이스 쓰기를 수행하면 모든 대기가 결국 일관된 상태에 도달하게 되지만, 대기에서 실행되는 반복 읽기 트랜잭션은 때때로 기본에서 트랜잭션의 직렬 실행과 일치하지 않는 일시적인 상태를 볼 수 있습니다.
시스템 카탈로그에 대한 내부 접근은 현재 트랜잭션의 격리 수준을 사용하여 수행되지 않습니다. 이는 테이블과 같이 새로 생성된 데이터베이스 객체가 포함된 행이 표시되지 않더라도 동시 반복 읽기 및 직렬화 가능 트랜잭션에 표시된다는 것을 의미합니다. 반면에 시스템 카탈로그를 명시적으로 검사하는 쿼리는 더 높은 격리 수준에서 동시에 생성된 데이터베이스 개체를 나타내는 행을 볼 수 없습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.