이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 토토 커뮤니티 설정버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

SET 거래

이름

SET TRANSACTION --특성 설정 현재 거래의

시놉시스

거래 설정transaction_mode[, ...]
세션 특성을 롤 토토으로 설정transaction_mode [, ...]

어디에서transaction_mode다음 중 하나입니다:격리 수준  직렬화 가능 | 반복 읽기 | 커밋됨 읽기 | 커밋되지 않은 읽기 
    읽기 쓰기 | 읽기 전용

설명

롤 토토 설정명령은 다음을 설정합니다. 현재 거래의 특징. 에는 영향을 미치지 않습니다. 모든 후속 거래.세션 설정 특성기본 롤 토토 특성을 설정합니다. 세션의 후속 롤 토토을 위해. 이러한 기본값은 다음과 같습니다. 다음에 의해 재정의됨롤 토토 설정에 대한 개별 거래입니다.

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

롤 토토의 격리 수준에 따라 어떤 데이터가 롤 토토은 다른 롤 토토이 실행 중일 때 확인할 수 있습니다. 동시에:

읽어 커밋됨

명령문은 시작되기 전에 커밋된 행만 볼 수 있습니다. 이것이 기본값입니다.

직렬화 가능

현재 거래의 모든 명세서는 볼 수만 있습니다. 첫 번째 쿼리 또는 데이터 수정 전에 커밋된 행 이 트랜잭션에서 명령문이 실행되었습니다.

SQL 표준은 두 가지 추가 수준을 정의합니다.커밋되지 않은 읽기그리고반복 가능한 읽기. 에서포스트그레SQL 읽기 커밋되지 않음다음과 같이 처리됩니다.읽기 커밋됨, 그동안반복 가능한 읽기이다 다음과 같이 취급됨직렬화 가능.

롤 토토 격리 수준은 이후에는 변경할 수 없습니다. 첫 번째 쿼리 또는 데이터 수정 문(선택, 삽입, 삭제, 업데이트, 가져오기, 또는복사) 거래가 실행되었습니다. 참조13장거래에 대한 추가 정보 격리 및 동시성 제어.

롤 토토 액세스 모드는 롤 토토 여부를 결정합니다. 읽기/쓰기 또는 읽기 전용입니다. 읽기/쓰기가 기본값입니다. 언제 롤 토토이 읽기 전용인 경우 다음 SQL 명령은 다음과 같습니다. 허용되지 않음:삽입, 업데이트, 삭제다음에서 복사그들이 작성한 테이블이라면 to는 임시 테이블이 아닙니다. 모두생성, 변경드롭명령;댓글, 그랜트, 취소, 잘라내기; 그리고설명하세요 분석그리고실행명령이 그들이 실행할 것은 나열된 것 중 하나입니다. 이는 높은 수준의 디스크에 대한 모든 쓰기를 방지하지 않는 읽기 전용 개념입니다.

참고

만약롤 토토 설정실행됨 사전 없이거래 시작또는시작, 아무런 효과가 없는 것 같습니다. 거래가 즉시 종료되기 때문입니다.

없애는 것이 가능합니다SET 거래대신 원하는 것을 지정하여transaction_modesin시작또는시작 거래.

세션 기본 롤 토토 모드는 다음을 통해 설정할 수도 있습니다. 구성 매개변수 설정default_transaction_isolation그리고default_transaction_read_only. (사실세션 특성 설정이다 이러한 변수를 설정하는 것과 동등한 장황한 표현입니다.SET.) 이는 기본값을 설정할 수 있음을 의미합니다. 구성 파일에서 다음을 통해변경 데이터베이스등 문의무지개 토토 : 문서 : 9.0 : 서버 구성더 많은 정보를 원하시면.

호환성

두 명령 모두 다음에 정의되어 있습니다.SQL표준.직렬화 가능기본 트랜잭션 격리입니다. 표준 수준입니다. 에서포스트그레SQL기본값은 보통입니다읽어 커밋됨, 그러나 다음과 같이 변경할 수 있습니다. 위에서 언급한. 조건자 잠금이 부족하기 때문에,직렬화 가능레벨이 실제로는 아닙니다. 직렬화 가능. 참조13장용 세부사항.

SQL 표준에는 또 하나의 트랜잭션이 있습니다 다음 명령으로 설정할 수 있는 특성: 크기 진단 영역. 이 개념은 Embedded SQL에만 적용됩니다. 따라서 다음에서는 구현되지 않습니다.PostgreSQL서버.

SQL 표준에서는 연속된 내용 사이에 쉼표가 필요합니다.transaction_modes, 그러나 역사적인 경우 이유PostgreSQL허용합니다 쉼표는 생략합니다.