이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 토토 커뮤니티 설정버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

세트 거래

이름

젠 토토 설정-특성을 설정하십시오 현재 거래

시놉시스

젠 토토 설정Transaction_Mode[, ...]
세션 특성 설정으로 거래Transaction_Mode[, ...]여기서Transaction_Mode중 하나입니다.분리 레벨 SERIALIZABLE | 반복 가능한 읽기 | Commited | 커밋되지 않은 읽기
    쓰기 읽기 | 만 읽으십시오
    [연기가 아님

설명

the젠 토토 설정명령을 설정합니다 현재 트랜잭션의 특성. 그것은 영향을 미치지 않습니다 후속 거래.세션 설정 형질기본 젠 토토 특성을 설정합니다 세션의 후속 거래. 이러한 기본값은 될 수 있습니다 재정젠 토토 설정개별 거래.

사용 가능한 젠 토토 특성은 젠 토토입니다 격리 수준, 젠 토토 액세스 모드 (읽기/쓰기 또는 읽기 전용) 및 연기 가능한 모드.

젠 토토의 격리 수준은 어떤 데이터를 결정합니다. 거래는 다른 거래가 실행되는 시점을 확인할 수 있습니다 동시에 :

Committed 읽기

진술은 시작하기 전에 저지른 행만 볼 수 있습니다. 이것은 기본입니다.

반복 가능한 읽기

현재 거래의 모든 진술은 볼 수 있습니다 첫 번째 쿼리 또는 데이터 수정 이전에 행하는 행입니다 이 거래에서 진술이 실행되었습니다.

SERIALIZABLE

현재 거래의 모든 진술은 볼 수 있습니다 첫 번째 쿼리 또는 데이터 수정 이전에 행하는 행입니다 이 거래에서 성명서가 실행되었습니다. 패턴 인 경우 동시 직렬화 가능한 거래 중에서 읽고 씁니다 발생할 수 없었던 상황을 만들 것입니다. 해당 거래의 일련 (한 번에 한 번) 실행, 그들 중 하나는 A로 롤백 될 것입니다.Serialization_Failure sqlstate.

SQL 표준은 하나의 추가 레벨을 정의합니다.커밋되지 않은 읽기. 안에PostgreSQL 읽기 어느 편도 아닌읽기 헌신적인.

젠 토토 격리 수준은 변경할 수 없습니다 첫 번째 쿼리 또는 데이터 수정 문 (select, 삽입, 삭제, 업데이트, fet젠 토토또는COPY) 거래가 실행되었습니다. 보다13 장거래에 대한 자세한 내용 격리 및 동시성 제어.

트랜잭션 액세스 모드는 트랜잭션 여부를 결정합니다 읽기/쓰기 또는 읽기 전용입니다. 읽기/쓰기는 기본값입니다. 언제 a 트랜잭션은 읽기 전용이며 다음 SQL 명령은입니다 허용 :삽입, 업데이트, 삭제COPY테이블이 쓸 경우 임시 테이블이 아닙니다. 모두생성, Alter드롭명령;댓글, grant, Revoke, Truncate; 그리고설명 분석execute명령 인 경우 그들은 실행 될 것입니다. 이것은 높은 수준입니다 모든 쓰기가 디스크에 대한 쓰기를 방해하지 않는 읽기 전용 개념

the연기 가능거래 속성 거래가 아닌 경우에도 영향을 미치지 않습니다SERIALIZALEand읽기 오직. 이러한 모든 속성이 젠 토토에 설정되면 젠 토토은 스냅 샷을 처음 획득 할 때 차단할 수 있습니다. 그 후에는 A의 정상적인 오버 헤드없이 실행할 수 있습니다.SERIALIZABLE거래 및 아무것도없는 거래 직렬화에 기여하거나 취소 될 위험 실패. 이 모드는 장기 실행 보고서에 적합합니다 백업.

노트

if젠 토토 설정실행됩니다 사전없이젠 토토 시작또는시작, 효과가없는 것으로 보입니다. 거래가 즉시 종료되기 때문에.

분배 할 수 있습니다세트 거래대신 원하는 것을 지정하여Transaction_Modesin시작또는시작 거래.

세션 기본 젠 토토 모드도 구성 매개 변수 설정default_transaction_isolation, default_transaction_read_only, 그리고default_transaction_deferrable. (사실은세션 특성 설정IS 이러한 변수를 |SET.) 이는 기본값을 설정할 수 있음을 의미합니다 구성 파일에서 viaALTER 데이터 베이스토토 사이트: Documentation: 9.1: Server Configuration자세한 내용은

호환성

두 명령 모두에 정의되어 있습니다.SQL표준.SERIALIZALE는 기본 트랜잭션 격리입니다 표준의 레벨. 안에PostgreSQL기본값은 일반적으로Committed 읽기이지만 변경할 수 있습니다 위에서 언급했습니다.

SQL 표준에는 다른 트랜잭션이 있습니다 이 명령으로 설정할 수있는 특성 : 크기 진단 영역. 이 개념은 임베디드 SQL에만 해당됩니다. 따라서에서 구현되지 않습니다.PostgreSQLServer.

the연기 가능 Transaction_ModeisPostgreSQL언어 확장.

SQL 표준에는 연속적인 쉼표가 필요합니다Transaction_Modes, 그러나 역사적 이유PostgreSQL허용 생략 할 쉼표.