거래 설정transaction_mode[, ...]
세션 특성을 젠 토토으로 설정transaction_mode [, ...]
어디에서transaction_mode다음 중 하나입니다:격리 수준 직렬화 가능 | 반복 읽기 | 커밋됨 읽기 | 커밋되지 않은 읽기
읽기 쓰기 | 읽기 전용
[ 아님 ] 연기 가능
그젠 토토 설정명령은 다음을 설정합니다. 현재 거래의 특징. 에는 영향을 미치지 않습니다. 모든 후속 거래.세션 설정 특성기본 젠 토토 특성을 설정합니다. 세션의 후속 젠 토토을 위해. 이러한 기본값은 다음과 같습니다. 다음에 의해 재정의됨젠 토토 설정에 대한 개별 거래입니다.
사용 가능한 거래 특성은 거래입니다. 격리 수준, 젠 토토 액세스 모드(읽기/쓰기 또는 읽기 전용) 및 지연 가능 모드입니다.
젠 토토의 격리 수준에 따라 어떤 데이터가 젠 토토은 다른 젠 토토이 실행 중일 때 확인할 수 있습니다. 동시에:
명령문은 시작되기 전에 커밋된 행만 볼 수 있습니다. 이것이 기본값입니다.
현재 거래의 모든 명세서는 볼 수만 있습니다. 첫 번째 쿼리 또는 데이터 수정 전에 커밋된 행 이 트랜잭션에서 명령문이 실행되었습니다.
현재 거래의 모든 명세서는 볼 수만 있습니다 첫 번째 쿼리 또는 데이터 수정 전에 커밋된 행 이 트랜잭션에서 명령문이 실행되었습니다. 의 패턴이라면 동시 직렬화 가능 트랜잭션 간 읽기 및 쓰기 일어날 수 없는 상황을 만들게 됩니다. 해당 트랜잭션의 직렬(한 번에 하나씩) 실행, 그 중 하나는 다음과 같이 롤백됩니다.직렬화_실패 SQLSTATE.
SQL 표준은 하나의 추가 레벨을 정의합니다.커밋되지 않은 읽기. 에서PostgreSQL 읽기 커밋되지 않음다음과 같이 처리됩니다.읽기 커밋됨.
젠 토토 격리 수준은 다음 이후에는 변경할 수 없습니다. 첫 번째 쿼리 또는 데이터 수정 문(선택, 삽입, 삭제, 업데이트, 가져오기, 또는복사) 거래가 실행되었습니다. 참조13장거래에 대한 추가 정보 격리 및 동시성 제어.
젠 토토 액세스 모드는 젠 토토이 읽기/쓰기 또는 읽기 전용입니다. 읽기/쓰기가 기본값입니다. 언제 젠 토토이 읽기 전용인 경우 다음 SQL 명령은 다음과 같습니다. 허용되지 않음:삽입, 업데이트, 삭제및다음에서 복사그들이 작성한 테이블이라면 to는 임시 테이블이 아닙니다. 모두생성, 변경및드롭명령;댓글, 그랜트, 취소, 잘라내기; 그리고설명하세요 분석그리고실행명령이 그들이 실행할 것은 나열된 것 중 하나입니다. 이는 높은 수준의 디스크에 대한 모든 쓰기를 방지하지 않는 읽기 전용 개념입니다.
그지연 가능젠 토토 속성 거래가 다음과 같은 경우가 아니면 효과가 없습니다.직렬화 가능그리고읽기 만. 이러한 속성이 모두 트랜잭션에 설정되면 스냅샷을 처음 획득할 때 트랜잭션이 차단될 수 있습니다. 그 후에는 a의 일반적인 오버헤드 없이 실행될 수 있습니다.직렬화 가능트랜잭션이 있고 아무 것도 없이 연재에 기여하거나 취소될 위험 실패. 이 모드는 장기 실행 보고서 또는 백업.
만약거래 설정실행됨 사전 없이거래 시작또는시작, 효과가 없는 것 같습니다. 거래가 즉시 종료되기 때문입니다.
없애는 것이 가능합니다SET 거래대신 원하는 것을 지정하여transaction_modes에시작또는시작 거래.
세션 기본 젠 토토 모드는 다음을 통해 설정할 수도 있습니다. 구성 매개변수 설정default_transaction_isolation, default_transaction_read_only, 그리고default_transaction_deferrable. (사실세션 특성 설정이다 이러한 변수를 설정하는 것과 동등한 장황한 표현입니다.SET.) 이는 기본값을 설정할 수 있음을 의미합니다. 구성 파일에서 다음을 통해변경 데이터베이스등 문의토토 사이트: Documentation: 9.1: Server Configuration더 많은 정보를 원하시면.
두 명령 모두 다음에 정의되어 있습니다.SQL표준.직렬화 가능기본 트랜잭션 격리입니다. 표준 수준입니다. 에서포스트그레SQL기본값은 보통입니다읽어 커밋됨, 하지만 다음과 같이 변경할 수 있습니다. 위에서 언급했습니다.
SQL 표준에는 또 하나의 트랜잭션이 있습니다 다음 명령으로 설정할 수 있는 특성: 크기 진단 영역. 이 개념은 Embedded SQL에만 적용됩니다. 따라서 다음에서는 구현되지 않습니다.PostgreSQL서버.
그지연 가능 transaction_mode은PostgreSQL언어 확장.
SQL 표준에서는 연속된 내용 사이에 쉼표가 필요합니다.transaction_modes, 그러나 역사적인 경우 이유포스트그레SQL허용합니다 쉼표는 생략합니다.