사설 토토 설정

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

시놉시스

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

설명

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

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

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

Commited 읽기

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

반복 가능한 읽기

현재 사설 토토의 모든 진술은이 거래에서 첫 번째 쿼리 또는 데이터 수정 문이 실행되기 전에 저지른 행만 볼 수 있습니다.

SERIALIZABLE

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

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

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

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

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

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

노트

if거래 설정사전없이 실행사설 토토 시작또는시작, 경고를 방출하고 효과가 없습니다.

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

세션 기본 사설 토토 모드는 구성 매개 변수를 통해 설정하거나 검사 할 수도 있습니다.default_transaction_isolation, default_transaction_read_onlydefault_transaction_deferrable. (사실은세션 특성 설정| 이러한 변수를로 설정하는 것과 동등한 일입니다.SET.) 이는 기본값이 구성 파일을 통해 설정 될 수 있음을 의미합니다데이터베이스 변경토토 사이트 : 문서 : 14 : CHAPTER 20. 서버 구성자세한 내용은

현재 사설 토토 모드는 구성 매개 변수를 통해 유사하게 설정하거나 검사 할 수 있습니다Transaction_isolation, Transaction_Read_OnlyTransaction_Deferrable. 이 매개 변수 중 하나를 설정하면 해당와 동일합니다거래 설정옵션,시기에 동일한 제한 사항이 있습니다. 그러나 이러한 매개 변수는 구성 파일 또는 Live SQL 이외의 소스에서 설정할 수 없습니다.

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

트랜잭션 격리 수준 반복 가능한 읽기 시작;
pg_export_snapshot ()을 선택하십시오.
 pg_export_snapshot
--------------------
 00000003-0000001B-1
(1 행)

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

트랜잭션 격리 레벨 반복 가능한 읽기 시작;
사설 토토 설정 스냅 샷 '00000003-0000001B-1';

호환성

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

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

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

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

정정 제출

문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면