거래 설정transaction_mode[, ...]
거래 스냅샷 설정snapshot_id세션 특성을 범퍼카 토토으로 설정transaction_mode [, ...]
어디에서transaction_mode다음 중 하나입니다:격리 수준 직렬화 가능 | 반복 읽기 | 커밋됨 읽기 | 커밋되지 않은 읽기
읽기 쓰기 | 읽기 전용
[ 아님 ] 연기 가능그거래 설정명령은 다음을 설정합니다. 현재 거래의 특징. 어떤 것에도 영향을 미치지 않습니다. 후속 거래.세션 설정 형질기본 트랜잭션 특성을 설정합니다. 세션의 후속 트랜잭션을 위해. 이러한 기본값은 다음과 같습니다. 다음에 의해 재정의됨범퍼카 토토 설정에 대한 개별 거래입니다.
사용 가능한 거래 특성은 거래입니다. 격리 수준, 트랜잭션 액세스 모드(읽기/쓰기 또는 읽기 전용) 및 지연 가능 모드입니다. 또한 스냅샷은 다음과 같습니다. 세션이 아닌 현재 트랜잭션에 대해서만 선택됨 기본.
범퍼카 토토의 격리 수준에 따라 어떤 데이터가 범퍼카 토토은 다른 범퍼카 토토이 실행 중일 때 확인할 수 있습니다. 동시에:
명령문은 시작되기 전에 커밋된 행만 볼 수 있습니다. 이것은 기본값입니다.
현재 거래의 모든 문은 행만 볼 수 있습니다. 첫 번째 쿼리 또는 데이터 수정 문이 실행되기 전에 커밋되었습니다. 이 거래에서 실행되었습니다.
현재 거래의 모든 문은 행만 볼 수 있습니다. 첫 번째 쿼리 또는 데이터 수정 문이 실행되기 전에 커밋되었습니다. 이 거래에서 실행됩니다. 읽고 쓰는 패턴이 있는 경우 동시 직렬화 가능 트랜잭션 중에서 상황이 발생할 수 있습니다. 어떤 연재물에서도 일어날 수 없었던 일(한 번에 하나씩) 해당 트랜잭션이 실행되면 그 중 하나가 롤백됩니다. 와 함께직렬화_실패오류.
SQL 표준은 하나의 추가 레벨을 정의합니다.커밋되지 않은 읽기. 안에PostgreSQL 읽기 어느 편도 아닌다음과 같이 처리됩니다.읽기 헌신적인.
범퍼카 토토 격리 수준은 이후에는 변경할 수 없습니다. 첫 번째 쿼리 또는 데이터 수정 문(선택, 삽입, 삭제, 업데이트, 가져오기또는복사)의 거래가 실행되었습니다. 보다메이저 토토 사이트 : 문서 : 9.3 : 동시성 제어범퍼카 토토 격리 및 동시성 제어.
트랜잭션 액세스 모드는 트랜잭션이 읽기/쓰기 또는 읽기 전용입니다. 읽기/쓰기가 기본값입니다. 언제 트랜잭션이 읽기 전용인 경우 다음 SQL 명령은 다음과 같습니다. 허용되지 않음:삽입, 업데이트, 삭제및다음에서 복사그들이 쓸 테이블이 있다면 임시 테이블이 아닙니다. 모두만들기, 변경및드롭명령;댓글, 그랜트, 취소, 잘라내기; 그리고설명하세요 분석그리고실행명령이 그들이 실행할 것은 나열된 것 중 하나입니다. 이는 높은 수준의 디스크에 대한 모든 쓰기를 방지하지 않는 읽기 전용 개념입니다.
그지연 가능트랜잭션 속성에는 거래가 다음과 같은 경우가 아니면 효과가 없습니다직렬화 가능그리고읽기 전용. 트랜잭션에 대해 이 세 가지 속성을 모두 선택하면 스냅샷을 처음 획득할 때 트랜잭션이 차단될 수 있습니다. a의 일반적인 오버헤드 없이 실행될 수 있습니다.직렬화 가능거래에 대한 어떠한 위험도 없이 직렬화 실패에 기여하거나 취소됩니다. 이것 모드는 장기 실행 보고서 또는 백업에 매우 적합합니다.
그범퍼카 토토 스냅샷 설정명령 동일한 트랜잭션으로 새로운 트랜잭션을 실행할 수 있습니다.스냅샷기존 거래로. 그만큼 기존 트랜잭션은 다음을 사용하여 스냅샷을 내보냈어야 합니다.pg_export_snapshot함수(참조섹션 9.26.5). 해당 함수는 스냅샷 식별자를 반환합니다. 에게 주어야 합니다.범퍼카 토토 스냅샷 설정가져올 스냅샷을 지정합니다. 식별자는 다음과 같아야 합니다. 예를 들어 이 명령에서는 문자열 리터럴로 작성됩니다.'000003A1-1'. 거래 설정 스냅 사진트랜잭션 시작 시에만 실행될 수 있습니다. 첫 번째 쿼리 또는 데이터 수정 문 앞(선택, 삽입, 삭제, 업데이트, 가져오기또는복사)의 거래. 또한 거래가 이미 다음으로 설정되어 있어야 합니다.직렬화 가능또는반복 가능한 읽기격리 수준(그렇지 않으면 스냅샷은 즉시 삭제됩니다. 왜냐하면읽어 커밋됨모드는 각각에 대해 새로운 스냅샷을 찍습니다. 명령). 가져오기 거래에서 다음을 사용하는 경우직렬화 가능격리 수준, 트랜잭션 스냅샷을 내보낸 폴더도 해당 격리 수준을 사용해야 합니다. 또한 읽기 전용이 아닌 직렬화 가능 트랜잭션은 읽기 전용 트랜잭션의 스냅샷입니다.
만약거래 설정없이 실행됩니다. 사전거래 시작또는시작, 아무런 효과가 없는 것으로 보입니다. 거래가 즉시 종료됩니다.
없애는 것이 가능합니다SET 거래대신 원하는 것을 지정하여transaction_modesin시작또는거래 시작. 하지만 해당 옵션은 다음에서는 사용할 수 없습니다.세트 거래 스냅샷.
세션 기본 범퍼카 토토 모드는 설정을 통해 설정할 수도 있습니다. 구성 매개변수default_transaction_isolation, default_transaction_read_only, 그리고default_transaction_deferrable. (사실은세션 특성 설정이다 이러한 변수를 설정하는 것과 동등한 장황한 표현입니다.세트.) 이는 기본값을 설정할 수 있음을 의미합니다. 구성 파일에서 다음을 통해변경 데이터 베이스등 문의범퍼카 토토 : 문서 : 9.3 : 서버 구성더 많은 정보를 원하시면.
이미 스냅샷과 동일한 스냅샷으로 새 트랜잭션을 시작하려면 기존 트랜잭션에서 먼저 기존 트랜잭션에서 스냅샷을 내보냅니다. 거래. 그러면 스냅샷 식별자가 반환됩니다. 예:
트랜잭션 격리 수준 반복 읽기 시작; SELECT pg_export_snapshot(); pg_export_snapshot ------- 000003A1-1 (1행)
그런 다음 a에 스냅샷 식별자를 제공하십시오.세트 거래 스냅샷새로 시작하는 명령 열린 거래:
트랜잭션 격리 수준 반복 읽기 시작; 트랜잭션 스냅샷 '000003A1-1' 설정;
이 명령은 다음에 정의되어 있습니다.SQL표준, 제외지연 가능범퍼카 토토 모드 및범퍼카 토토 스냅샷 설정양식, 이는PostgreSQL확장.
연재 가능기본 트랜잭션입니다. 표준의 격리 수준. 안에PostgreSQL기본값은 보통입니다읽어 커밋됨, 그러나 다음과 같이 변경할 수 있습니다. 위에서 언급했습니다.
SQL 표준에는 또 하나의 트랜잭션이 있습니다 다음 명령으로 설정할 수 있는 특성: 진단 영역. 이 개념은 Embedded SQL에만 적용됩니다. 따라서 다음에서는 구현되지 않습니다.포스트그레SQL서버.
SQL 표준에서는 연속된 내용 사이에 쉼표가 필요합니다.transaction_modes, 그러나 역사적인 이유로포스트그레SQL쉼표를 사용할 수 있습니다. 생략했습니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 토토 : 문서 : 9.3 : show |
| 세션 설정 권한 부여 | 위로 | 표시 |