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

젠 토토 설정

이름

젠 토토 설정-현재 트랜잭션의 특성 설정

시놉시스

젠 토토 설정Transaction_Mode[, ...]Snapshot_id젠 토토으로 세션 특성 설정Transaction_Mode[, ...]여기서Transaction_Mode분리 레벨 SERIALIZABLE | 반복 가능한 읽기 |

설명

the젠 토토 설정명령은 현재 트랜잭션의 특성을 설정합니다. 후속 거래에는 영향을 미치지 않습니다.세션 특성 설정세션의 후속 젠 토토에 대한 기본 젠 토토 특성을 설정합니다. 이러한 기본값은에 의해 상체 될 수 있습니다.젠 토토 설정개별 거래의 경우

사용 가능한 트랜잭션 특성은 트랜잭션 격리 수준, 트랜잭션 액세스 모드 (읽기/쓰기 또는 읽기 전용) 및 지연 가능한 모드입니다. 또한 현재 트랜잭션에 대해서만 세션 기본값이 아닌 스냅 샷을 선택할 수 있습니다.

젠 토토의 격리 수준은 다른 젠 토토이 동시에 실행될 때 거래가 볼 수있는 데이터를 결정합니다.

Committed 읽기

진술은 행이 시작되기 전에 커밋 된 행만 볼 수 있습니다. 이것은 기본입니다.

반복 가능한 읽기

현재 트랜잭션의 모든 명령문은이 거래에서 첫 번째 쿼리 또는 데이터 수정 문이 실행되기 전에 저지른 행만 볼 수 있습니다..

SERIALIZALE

현재 트랜잭션의 모든 진술은이 트랜잭션에서 첫 번째 쿼리 또는 데이터 수정 문이 실행되기 전에 저지른 행만 볼 수 있습니다. 동시 직렬화 가능한 트랜잭션 사이에 읽기 및 쓰기 패턴이 해당 거래의 일련의 (한 번에) 실행에 대해 발생할 수없는 상황을 만들면 A와 함께 롤백됩니다.Serialization_Failure오류.

SQL 표준은 하나의 추가 레벨을 정의합니다.커밋되지 않은 읽기. 안에PostgreSQL 커밋되지 않은 읽기Committed 읽기.

첫 번째 쿼리 또는 데이터 수정 문 ( 후에 젠 토토 격리 수준을 변경할 수 없습니다.select, 삽입, 삭제, 업데이트, fetch또는copy11672_11713사설 토토 사이트 : 문서 : 9.4 : 사설 토토 사이트 제어거래 격리 및 동시성 제어에 대한 자세한 내용은

트랜잭션 액세스 모드는 트랜잭션이 읽기/쓰기 또는 읽기 전용인지 여부를 결정합니다. 읽기/쓰기는 기본값입니다.삽입, 업데이트, 삭제복사그들이 쓸 테이블이 임시 테이블이 아닌 경우; 모두Create, Alter드롭명령;댓글, grant, Revoke, Truncate; 그리고분석andexecute실행할 명령이 나열된 명령 중 하나입니다. 이것은 모든 쓰기가 디스크에 대한 쓰기를 방해하지 않는 고급의 읽기 전용 개념입니다.

the연기 가능젠 토토 속성이 거래가 아닌 한 영향을 미치지 않습니다SERIALIZALEand읽기 전용. 이 세 가지 속성 모두 젠 토토을 위해 선택되면 스냅 샷을 먼저 획득 할 때 젠 토토이 차단 될 수 있으며, 그 후 A의 정상적인 오버 헤드없이 실행할 수 있습니다.SERIALIZALE거래 및 직렬화 실패에 기여하거나 취소 될 위험이 없습니다. 이 모드는 장기 보고서 또는 백업에 적합합니다.

the젠 토토 설정 스냅 샷명령은 새 젠 토토을 동일하게 실행할 수 있도록합니다스냅 샷기존 거래. 기존 거래는와 함께 스냅 샷을 내보냈어야합니다.pg_export_snapshot함수 (참조섹션 9.26.5). 해당 기능은 스냅 샷 식별자를 반환합니다.젠 토토 설정 스냅 샷가져올 스냅 샷을 지정합니다. 식별자는이 명령에서 문자열 문자로 작성되어야합니다 (예 :'000003A1-1'. 젠 토토 설정 스냅 샷첫 번째 쿼리 또는 데이터 수정 문 ( 전에 젠 토토 시작시에만 실행할 수 있습니다.select, 삽입, 삭제, 업데이트, fetch또는copy13586_13659SERIALIZALE또는반복 가능한 읽기격리 레벨 (그렇지 않으면 스냅 샷이 즉시 폐기됩니다.Committed 읽기모드는 각 명령에 대한 새 스냅 샷을 취합니다). 가져 오는 트랜잭션이 사용하는 경우SERIALIZALE격리 수준, 스냅 샷을 내보낸 트랜잭션도 해당 격리 수준을 사용해야합니다. 또한 읽기 전용 직렬화 가능한 트랜잭션은 읽기 전용 트랜잭션에서 스냅 샷을 가져올 수 없습니다.

노트

if젠 토토 설정사전없이 실행젠 토토 시작또는시작, 경고를 방출하고 그렇지 않으면 영향을 미치지 않습니다.

분배 할 수 있습니다젠 토토 설정대신 원하는 것을 지정하여Transaction_Modesin시작또는젠 토토 시작. 그러나 그 옵션은 사용할 수 없습니다젠 토토 설정 스냅 샷.

구성 매개 변수를 설정하여 세션 기본 젠 토토 모드도 설정할 수 있습니다default_transaction_isolation, default_transaction_read_onlydefault_transaction_deferrable. (사실은세션 특성 설정|이 변수를 |SET.) 이것은 기본값이 구성 파일에서 설정 될 수 있음을 의미합니다데이터베이스 변경롤 토토 : 문서 : 9.4 : 서버 구성자세한 내용은

이미 기존 트랜잭션과 동일한 스냅 샷으로 새로운 트랜잭션을 시작하려면 먼저 기존 트랜잭션에서 스냅 샷을 내 보냅니다. 예를 들어 스냅 샷 식별자를 반환합니다.

트랜잭션 격리 레벨 반복 가능한 읽기 시작;

그런 다음 스냅 샷 식별자를 a에게 제공하십시오.젠 토토 설정 스냅 샷새로 개설 된 거래의 시작 부분에서 명령 :

트랜잭션 격리 레벨 반복 가능한 읽기 시작;

호환성

이 명령은에 정의되어 있습니다.SQL표준, 제외연기 가능젠 토토 모드 및젠 토토 설정 스냅 샷양식은PostgreSQL확장.

SERIALIZALE표준의 기본 트랜잭션 격리 수준입니다. 안에PostgreSQL기본값은 일반적으로Committed 읽기그러나 위에서 언급 한대로 변경할 수 있습니다.

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

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