무지개 토토

무지개 토토 - 테이블 무지개 토토

시놉시스

무지개 토토 [테이블] [만]이름[ *] [, ...] [inLockmode모드] [nowait]여기서Lockmode중 하나입니다.액세스 공유 | 줄 공유 | Row Exclusive | 공유 업데이트 독점
    | 공유 | Row Exclusive 공유 | 독점 | 액세스 독점

설명

무지개 토토 테이블충돌 무지개 토토 장치가 해제되기 위해 필요한 경우 대기하여 테이블 레벨 무지개 토토을 얻습니다. 만약에nowait지정되어 있습니다.무지개 토토 테이블원하는 무지개 토토 무지개 토토 장치를 획득하기를 기다리지 않습니다. 즉시 획득 할 수없는 경우 명령이 중단되고 오류가 발생합니다. 일단 획득되면, 자물쇠는 현재 거래의 나머지 부분에 대해 유지됩니다. (없음무지개 토토 해제 테이블명령; 자물쇠는 항상 트랜잭션 종료시 릴리스됩니다.)

보기가 잠겨 있으면 뷰 정의 쿼리에 나타나는 모든 관계도 동일한 무지개 토토 모드로 재귀 적으로 잠겨 있습니다.

테이블을 참조하는 명령에 대해 자동으로 무지개 토토을 획득 할 때PostgreSQL항상 최소 제한적인 무지개 토토 모드를 사용합니다.무지개 토토 테이블보다 제한적인 무지개 토토이 필요할 수있는 경우를 제공합니다. 예를 들어, 응용 프로그램이에서 트랜잭션을 실행한다고 가정합니다.Committed 읽기격리 수준이며 트랜잭션 기간 동안 테이블의 데이터가 안정적으로 유지되어야합니다. 이를 달성하려면공유쿼리 전에 테이블 위의 모드를 잠그십시오. 이렇게하면 동시 데이터 변경을 방지하고 테이블의 후속 읽기가 커밋 된 데이터에 대한 안정적인 견해를 보도록합니다..공유무지개 토토 모드와 충돌합니다Row Exclusive작가가 인수 한 무지개 토토,무지개 토토 테이블이름공유 모드성명서는 동시 소지자가 될 때까지 기다립니다Row Exclusive모드 무지개 토토 커밋 또는 롤백. 따라서 자물쇠를 얻으면 커밋되지 않은 쓰기가 없습니다. 또한 무지개 토토 장치를 해제 할 때까지 시작할 수 없습니다.

에서 거래를 실행할 때 유사한 효과를 얻으려면반복 가능한 읽기또는SERIALIZABLE격리 레벨,를 실행해야합니다무지개 토토 테이블실행하기 전에 진술select또는 데이터 수정 문. 에이반복 가능한 읽기또는SERIALIZABLE트랜잭션의 데이터 관점이 첫 번째 일 때 동결됩니다select또는 데이터 수정 문이 시작됩니다. 에이무지개 토토 테이블트랜잭션의 뒷부분에서도 동시 기록을 방지 할 것입니다. 그러나 트랜잭션이 읽는 내용이 최신 커밋 된 값에 해당하는지 확인하지는 않습니다.

이런 종류의 트랜잭션이 표에서 데이터를 변경하려면 사용해야합니다공유 행 독점대신 무지개 토토 모드공유모드. 이를 통해 한 번에 하나의 트랜잭션 만 실행할 수 있습니다. 이 없으면 교착 상태가 가능합니다. 두 가지 거래가 모두 인수 할 수 있습니다공유모드, 그리고 획득 할 수 없습니다Row Exclusive실제로 업데이트를 수행하는 모드. (거래의 자체 자물쇠는 절대 충돌하지 않으므로 거래가 인수 할 수 있습니다Row Exclusive보유 할 때 모드공유모드 - 그러나 다른 사람이 보유하고 있다면공유모드.) 교착 상태를 피하려면 모든 트랜잭션이 동일한 순서로 동일한 오브젝트에서 무지개 토토을 획득하고 단일 객체에 대해 여러 무지개 토토 모드가 관련되면 항상 가장 제한적인 모드를 획득해야합니다..

무지개 토토 모드 및 무지개 토토 전략에 대한 자세한 정보는 찾을 수 있습니다.PostgreSQL : 문서 : 14 : 13.3. 명시 적 범퍼카 토토.

매개 변수

이름

무지개 토토 할 기존 테이블의 이름 (선택적으로 스키마 자격). 만약에전용테이블 이름 앞에 지정되어 있으며 해당 테이블 만 잠겨 있습니다. 만약에전용지정되지 않은 표는 테이블과 모든 후손 테이블 (있는 경우)이 잠겨 있습니다. 선택적으로,*테이블 이름 후에 지정하여 자손 테이블이 포함되어 있음을 명시 적으로 표시 할 수 있습니다.

명령무지개 토토 테이블 A, B;무지개 토토 테이블 A; 무지개 토토 테이블 B;. 테이블은에 명시된 순서대로 1 단을 잠겨 있습니다.무지개 토토 테이블명령.

Lockmode

무지개 토토 모드는이 무지개 토토이 충돌하는 것을 지정합니다. 무지개 토토 모드는에 설명되어 있습니다.PostgreSQL : 문서 : 14 : 13.3. 명시 적 범퍼카 토토.

무지개 토토 모드가 지정되지 않은 경우액세스 독점가장 제한적인 모드가 사용됩니다.

nowait

지정무지개 토토 테이블충돌 무지개 토토 장치가 해제 될 때까지 기다리지 말아야합니다. 대기하지 않고 지정된 무지개 토토 무지개 토토 장치를 즉시 획득 할 수없는 경우 거래가 중단됩니다..

노트

무지개 토토 테이블 ... 액세스 공유 모드요구select대상 테이블의 권한.무지개 토토 테이블 ... 행 독점 모드요구삽입, 업데이트, 삭제또는Truncate대상 테이블의 권한. 다른 모든 형태의무지개 토토테이블 레벨 필요업데이트, 삭제또는Truncate특권.

보기에서 무지개 토토을 수행하는 사용자는 뷰에 해당하는 권한이 있어야합니다. 또한 View의 소유자는 기본 기본 관계에 대한 관련 권한이 있어야하지만 무지개 토토을 수행하는 사용자는 기본 기본 관계에 대한 권한이 필요하지 않습니다.

무지개 토토 테이블트랜잭션 블록 외부에서는 쓸모가 없습니다. 무지개 토토은 성명서의 완료에만 유지됩니다. 그러므로postgresql오류를보고무지개 토토트랜잭션 블록 외부에서 사용됩니다. 사용시작and커밋(또는롤백) 트랜잭션 블록을 정의하려면

무지개 토토 테이블테이블 레벨 무지개 토토 만 처리하므로 관련 모드 이름Row는 모두 잘못된 이름입니다. 이러한 모드 이름은 일반적으로 잠긴 테이블 내에서로드 레벨 무지개 토토을 획득하려는 의도를 나타내는 것으로 읽어야합니다. 또한,Row Exclusive모드는 공유 가능한 테이블 무지개 토토 장치입니다. 모든 무지개 토토 모드는와 동일한 의미론을 가지고 있음을 명심하십시오.무지개 토토 테이블걱정되는데, 어떤 모드가 어느 모드가 상충되는지에 대한 규칙에 따라 다릅니다. 실제 행 수준 무지개 토토을 얻는 방법에 대한 정보는 참조섹션 13.3.2and무지개 토토 조항inselect문서.

a공유기본 키 테이블의 잠그기 외국 키 테이블에 삽입을 수행 할 때 :

작업 시작;
공유 모드의 무지개 토토 테이블 필름;
필름에서 ID를 선택하십시오
    여기서 name = '스타 워즈 : 에피소드 I- 팬텀 메나 스';
- 레코드가 반환되지 않은 경우 롤백을하십시오
films_user_comments 값에 삽입하십시오
    (_id_, '좋아요! 너무 오래 기다리고있었습니다!');
일을 커밋;

a공유 ROW 독점삭제 작업을 수행 할 때 기본 키 테이블을 잠그십시오 :

작업 시작;
공유 행 독점 모드의 무지개 토토 테이블 필름;
id가있는 Films_user_comments에서 삭제하십시오
    (등급 <5 인 필름에서 ID를 선택);
등급 <5 인 필름에서 삭제;
일을 커밋;

호환성

없음무지개 토토 테이블대신 사용하는 SQL 표준에서거래 설정거래에서 동시성 수준을 지정하려면PostgreSQL그것을지지합니다. 보다거래 설정자세한 내용.

제외액세스 공유, 액세스 독점공유 업데이트 독점무지개 토토 모드,PostgreSQL무지개 토토 모드 및무지개 토토 테이블구문은에있는 것과 호환됩니다Oracle.

정정 제출

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