postgresql테이블의 데이터에 대한 동시 액세스를 제어하기위한 다양한 토토 사이트 추천 모드를 제공합니다. 이 모드는 상황에서 응용 프로그램 제어 토토 사이트 추천에 사용될 수 있습니다.MVCC원하는 동작을 제공하지 않습니다. 또한, 대부분postgresql명령은 명령이 실행되는 동안 참조 된 테이블이 호환되지 않는 방식으로 삭제되거나 수정되지 않도록 적절한 모드의 토토 사이트 추천을 자동으로 획득합니다. (예를 들어,Truncate
같은 테이블의 다른 작업과 동시에 안전하게 실행할 수 없으므로 AN을 얻습니다.액세스 독점
테이블을 잠그십시오.)
데이터베이스 서버에서 현재 미결 토토 사이트 추천 토토 사이트 추천 장치 목록을 검사하려면 사용하십시오.pg_locks
시스템보기. 토토 사이트 추천 관리자 서브 시스템의 상태 모니터링에 대한 자세한 내용은 참조하십시오.토토 핫 : 문서 : 17 : 27 장. 데이터베이스 활동 모니터링.
아래 목록은 사용 가능한 토토 사이트 추천 모드와 컨텍스트가 자동으로 사용되는 컨텍스트를 보여줍니다postgresql. 또한 명령 으로이 자물쇠를 명시 적으로 얻을 수 있습니다.토토 사이트 추천. 이름에 단어가 포함되어 있어도이 모든 토토 사이트 추천 모드는 테이블 레벨 토토 사이트 추천입니다.“Row”; 토토 사이트 추천 모드의 이름은 역사적입니다.표 13.2). 두 개의 트랜잭션은 동시에 동시에 상충되는 모드의 토토 사이트 추천을 보유 할 수 없습니다.액세스 독점
토토 사이트 추천 및 나중에 인수액세스 공유
동일한 테이블을 잠그십시오.) 비 분화 토토 사이트 추천 모드는 많은 트랜잭션에 의해 동시에 유지 될 수 있습니다. 특히 일부 토토 사이트 추천 모드는 자체적으로 자체적으로 표시됩니다 (예 : AN액세스 독점
토토 사이트 추천은 한 번에 하나 이상의 거래로 유지할 수 없습니다)는 자체적으로 자체화되지 않습니다 (예 : AN액세스 공유
토토 사이트 추천 장치는 여러 거래에 의해 유지 될 수 있습니다).
테이블 레벨 토토 사이트 추천 모드
액세스 공유
(accesssharelock
)액세스 독점
토토 사이트 추천 모드 만.
theselect
명령은 참조 테이블 에서이 모드의 토토 사이트 추천을 얻습니다. 일반적으로 모든 쿼리 만reads테이블과 수정하지 않으면이 토토 사이트 추천 모드를 얻습니다.
행 점수
(RowsharElock
)독점
and액세스 독점
토토 사이트 추천 모드.
theselect
명령은 모든 테이블 에서이 모드의 토토 사이트 추천을 획득합니다.업데이트
, 키 업데이트 없음
, 공유
또는KEY SHARE
옵션이 지정되어 있습니다 (외에액세스 공유
명시 적없이 참조되는 다른 테이블의 토토 사이트 추천for ...
토토 사이트 추천 옵션).
Row Exclusive
(RowExclusivelock
)공유
, 공유 ROW 독점
, 독점
및액세스 독점
토토 사이트 추천 모드.
명령업데이트
, 삭제
, 삽입
및병합
대상 테이블 에서이 토토 사이트 추천 모드를 획득하십시오 (액세스 공유
다른 참조 테이블의 토토 사이트 추천). 일반적 으로이 토토 사이트 추천 모드는 모든 명령에 의해 획득됩니다.데이터 수정표에서.
독점 업데이트 공유
(ShareUpdateExclusivelock
)독점 업데이트 공유
, 공유
, 공유 ROW 독점
, 독점
및액세스 독점
토토 사이트 추천 모드. 이 모드는 동시 스키마 변경으로부터 테이블을 보호하고진공
runs.
획득진공
(Full
), 분석
, 동시에 색인 생성
, 통계 생성
, 댓글
, Reindex 동시에
및 특정Alter Index
andAlter Table
변형 (자세한 내용은이 명령의 문서를 참조하십시오).
공유
(Sharelock
)Row Exclusive
, 독점 업데이트 공유
, 공유 ROW 독점
, 독점
및액세스 독점
토토 사이트 추천 모드. 이 모드는 동시 데이터 변경으로부터 테이블을 보호합니다.
획득색인 생성
(동시에
).
공유 ROW 독점
(Sharerowexclusivelock
)Row Exclusive
, 독점 업데이트 공유
, 공유
, 공유 ROW 독점
, 독점
및액세스 독점
토토 사이트 추천 모드. 이 모드는 동시 데이터 변경으로부터 테이블을 보호하며 한 번에 한 세션 만 보유 할 수 있도록 자체적으로 독점적입니다.
획득트리거 만들기
그리고 일부 형태의Alter Table
.
독점
(Exclusivelock
)행 점수
, Row Exclusive
, 독점 업데이트 공유
, 공유
, 공유 ROW 독점
, 독점
및액세스 독점
토토 사이트 추천 모드. 이 모드는 동시 만 허용액세스 공유
토토 사이트 추천.
획득상쾌한 구체화 된보기 동시에
.
액세스 독점
(accessexclusivelock
)모든 모드의 토토 사이트 추천과 충돌합니다 (액세스 공유
, 행 점수
, Row Exclusive
, 독점 업데이트 공유
, 공유
, 공유 ROW 독점
, 독점
및액세스 독점
). 이 모드는 홀더가 어떤 식 으로든 테이블에 액세스하는 유일한 트랜잭션임을 보장합니다.
획득드롭 테이블
, Truncate
, Reindex
, 클러스터
, 진공 Full
및Refresh Resisized View
(동시에
) 명령. 여러 형태의Alter Index
andAlter Table
이 레벨에서 토토 사이트 추천을 얻습니다. 이것은 또한의 기본 토토 사이트 추천 모드입니다.토토 사이트 추천 테이블
모드를 명시 적으로 지정하지 않는 진술.
만액세스 독점
토토 사이트 추천 블록 Aselect
(업데이트/공유
) 문.
일단 인수하면, 자물쇠는 일반적으로 거래가 끝날 때까지 유지됩니다. 그러나 SavePoint를 설정 한 후 토토 사이트 추천이 획득되면 SavePoint가 다시 롤백되면 토토 사이트 추천이 즉시 해제됩니다.롤백
SavePoint 이후 명령의 모든 효과를 취소합니다. A 내에서 획득 한 자물쇠에 대해서도 마찬가지입니다.pl/pgsql예외 블록 : 블록에서 오류가 발생하여 그 안에 획득 한 토토 사이트 추천 장치를 릴리스합니다.
표 13.2. 충돌 토토 사이트 추천 모드
요청 된 토토 사이트 추천 모드 | 기존 토토 사이트 추천 모드 | |||||||
---|---|---|---|---|---|---|---|---|
액세스 공유 |
행 점수 |
Row Excl. |
공유 업데이트 제외 |
공유 |
공유 행 excl. |
제외. |
Access Excl. |
|
액세스 공유 |
X | |||||||
행 점수 |
X | X | ||||||
Row Excl. |
X | X | X | X | ||||
공유 업데이트 제외 |
X | X | X | X | X | |||
공유 |
X | X | X | X | X | |||
공유 행 excl. |
X | X | X | X | X | X | ||
제외. |
X | X | X | X | X | X | X | |
Access Excl. |
X | X | X | X | X | X | X | X |
테이블 레벨 토토 사이트 추천 외에도로드 레벨 토토 사이트 추천 장치가 있으며, 여기에는 컨텍스트가 자동으로 사용되는 컨텍스트와 함께postgresql. 보다표 13.3로드 레벨 토토 사이트 추천 충돌의 전체 테이블. 트랜잭션은 다른 잠수함에서도 동일한 행에서 충돌하는 토토 사이트 추천 장치를 보유 할 수 있습니다.작가와 사물함같은 행으로. 로드 레벨 토토 사이트 추천은 트랜잭션 끝 또는 SavePoint 롤백 중에 테이블 레벨 토토 사이트 추천과 마찬가지로 릴리스됩니다.
로우 레벨 토토 사이트 추천 모드
업데이트
업데이트
select
업데이트를 위해 잠겨 진술서. 이로 인해 현재 트랜잭션이 끝날 때까지 다른 트랜잭션에 의해 잠긴, 수정 또는 삭제되는 것을 방지합니다.업데이트
, 삭제
, 업데이트 선택
, 키 업데이트 없음 선택
, 공유 선택
또는키 공유 선택
이 행의 현재 트랜잭션이 끝날 때까지 차단됩니다. 거꾸로,업데이트 선택
같은 행에서 해당 명령을 실행 한 동시 트랜잭션을 기다린 다음 업데이트 된 행을 잠그고 반환합니다 (또는 행이 삭제 된 경우 행이 없음). A 내에서반복 가능한 읽기
또는SERIALIZABLE
트랜잭션은 거래가 시작된 이후로 토토 사이트 추천 될 행이 변경되면 오류가 발생합니다. 추가 논의는 참조섹션 13.4.
the업데이트
토토 사이트 추천 모드도 획득합니다삭제
행에 그리고 또한업데이트
특정 열의 값을 수정합니다. 현재에 고려 된 열 세트업데이트
케이스는 외국 키에 사용할 수있는 고유 한 인덱스를 가지고있는 것입니다 (따라서 부분 인덱스와 표현 적 인덱스는 고려되지 않음).
키 업데이트 없음
비슷하게 동작업데이트
- 획득 한 토토 사이트 추천이 약한 경우를 제외하고 :이 토토 사이트 추천 장치는 차단되지 않습니다키 공유 선택
같은 행에 토토 사이트 추천을 얻으려고 시도하는 명령. 이 토토 사이트 추천 모드는 또한에 의해 획득됩니다.업데이트
획득하지 않는업데이트
토토 사이트 추천.
공유
비슷하게 동작키 업데이트 없음
- 검색된 각 행에서 독점적 인 토토 사이트 추천이 아닌 공유 토토 사이트 추천 장치를 얻는 것을 제외하고. 공유 토토 사이트 추천 장치는 다른 트랜잭션이 수행되는 것을 막는다업데이트
, 삭제
, 업데이트 선택
또는키 업데이트 없음 선택
이 행에서는이 행에서 수행하는 것을 방해하지는 않습니다공유 선택
또는키 공유 선택
.
KEY SHARE
비슷하게 동작공유
- 토토 사이트 추천이 약한 경우를 제외하고 :업데이트 선택
차단되었지만키 업데이트 없음 선택
. 키 공유 토토 사이트 추천 장치는 다른 트랜잭션이 수행되는 것을 막는다삭제
또는 어떤업데이트
기타 값을 변경하지만 다른 것은 아닙니다업데이트
키 업데이트 없음 선택
, 공유 선택
또는키 공유 선택
.
postgresql메모리에서 수정 된 행에 대한 정보는 기억되지 않으므로 한 번에 잠긴 행 수에는 제한이 없습니다. 그러나 행을 잠그면 디스크 쓰기가 발생할 수 있습니다 (예 :업데이트 선택
선택한 행을 고정시키기 위해 선택한 행을 수정하여 디스크가 쓰여집니다.
표 13.3. 충돌하는 행 수준 토토 사이트 추천
요청 된 토토 사이트 추천 모드 | 현재 토토 사이트 추천 모드 | |||
---|---|---|---|---|
KEY SHARE | 공유 | 키 업데이트 없음 | 업데이트 | |
KEY SHARE | X | |||
공유 | X | X | ||
키 업데이트 없음 | X | X | X | |
업데이트 | X | X | X | X |
테이블 및 행 토토 사이트 추천 외에도 페이지 수준 공유/독점 토토 사이트 추천 장치는 공유 버퍼 풀의 테이블 페이지에 대한 읽기/쓰기 액세스를 제어하는 데 사용됩니다. 이 자물쇠는 행이 가져 오거나 업데이트 된 직후에 해제됩니다.
명시 적 토토 사이트 추천을 사용하면의 가능성이 높아질 수 있습니다.교착 상태예를 들어, 트랜잭션 1이 표 A에 대한 독점 토토 사이트 추천을 획득 한 다음 표 B에서 독점 토토 사이트 추천을 얻으려고 시도하는 반면, 트랜잭션 2는 이미 독점적으로 토토 사이트 추천 된 표 B를 사용했으며 이제 표 A에 대한 독점 토토 사이트 추천을 원한다면 어느 쪽도 진행할 수 없습니다..postgresql교착 상태를 자동으로 감지하고 관련된 트랜잭션 중 하나를 중단하여 다른 사람이 완료 할 수있게하여 해결합니다. (정확히 어떤 거래가 중단 될지 예측하기 어렵고 의존해서는 안됩니다.)
교착 상태는로드 레벨 토토 사이트 추천으로 인해 발생할 수 있습니다 (따라서 명시 적 토토 사이트 추천이 사용되지 않더라도 발생할 수 있음). 두 개의 동시 트랜잭션이 표를 수정하는 경우를 고려하십시오.
업데이트 계정 세트 밸런스 = 밸런스 + 100.00 여기서 acctnum = 11111;
이것은 지정된 계정 번호로 행의 행 수준 토토 사이트 추천을 취득합니다. 그런 다음 두 번째 트랜잭션이 실행됩니다.
업데이트 계정 설정 밸런스 = 밸런스 + 100.00 여기서 acctnum = 22222;
첫 번째업데이트
명령문은 지정된 행에서 행 수준 토토 사이트 추천을 성공적으로 획득하므로 해당 행을 업데이트하는 데 성공합니다. 그러나 두 번째업데이트
명령문은 업데이트를 시도하는 행이 이미 잠겨 있음을 발견하므로 토토 사이트 추천이 완료되도록 획득 한 거래를 기다립니다. 트랜잭션 2는 이제 실행을 계속하기 전에 거래 1을 완료하기를 기다리고 있습니다.
업데이트 계정 세트 밸런스 = 밸런스 -100.00 여기서 acctnum = 22222;
트랜잭션은 지정된 행에서로드 레벨 토토 사이트 추천을 얻으려고 시도하지만 : 트랜잭션 2는 이미 그러한 토토 사이트 추천을 보유하고 있습니다. 따라서 거래 2가 완료되기를 기다립니다.postgresql이 상황을 감지하고 거래 중 하나를 중단합니다.
교착 상태에 대한 최상의 방어는 일반적으로 데이터베이스를 사용하는 모든 응용 프로그램이 일관된 순서로 여러 객체에서 토토 사이트 추천을 획득한지 확인함으로써이를 피하는 것입니다. 위의 예에서, 두 거래 모두 동일한 순서로 행을 업데이트 한 경우 교착 상태가 발생하지 않았을 것입니다.
교착 상태 상황이 감지되지 않는 한, 테이블 레벨 또는로드 레벨 토토 사이트 추천을 원하는 거래는 충돌 토토 사이트 추천 장치가 해제 될 때까지 무한정 대기합니다. 즉, 응용 프로그램이 트랜잭션을 장시간 열어 두는 것이 좋지 않다는 것을 의미합니다 (예 : 사용자 입력을 기다리는 동안).
postgresql응용 프로그램 정의 의미가있는 토토 사이트 추천 장치를 생성하는 수단을 제공합니다. 이것들은라고합니다.자문 토토 사이트 추천, 시스템이 사용을 시행하지 않기 때문에 올바르게 사용하는 것은 응용 프로그램에 달려 있습니다. 자문 토토 사이트 추천은 MVCC 모델에 어색한 토토 사이트 추천 전략에 유용 할 수 있습니다.“플랫 파일”데이터 관리 시스템. 테이블에 저장된 깃발은 동일한 목적으로 사용될 수 있지만 자문 토토 사이트 추천 장치는 더 빠르고 테이블 부풀어 오르고 세션이 끝날 때 서버에 의해 자동으로 정리됩니다..
자문 토토 사이트 추천 장치를 얻는 방법에는 두 가지가 있습니다postgresql: 세션 수준 또는 트랜잭션 수준에서. 세션 수준에서 인수되면, 명시 적으로 릴리스되거나 세션이 종료 될 때까지 자문 토토 사이트 추천이 유지됩니다.
모든 자물쇠처럼postgresql, 현재 모든 세션에서 보유한 자문 토토 사이트 추천 장치 목록은에서 찾을 수 있습니다.pg_locks
시스템보기
자문 토토 사이트 추천 및 일반 토토 사이트 추천 장치는 모두 구성 변수에 의해 크기가 정의되는 공유 메모리 풀에 저장됩니다max_locks_per_transactionandmax_connections. 이 메모리를 소진시키지 않도록주의해야합니다. 그렇지 않으면 서버가 토토 사이트 추천을 전혀 부여 할 수 없습니다.
어떤 경우에는 자문 토토 사이트 추천 방법을 사용하는 경우, 특히 명시 적 순서 및 쿼리에서Limit
조항, SQL 표현이 평가되는 순서로 인해 획득 한 자물쇠를 제어하기 위해주의를 기울여야합니다. 예를 들어:
foo에서 pg_advisory_lock (id)을 선택하여 id = 12345; -- 좋아요
위의 쿼리에서 두 번째 양식은 위험하기 때문에Limit
토토 사이트 추천 기능이 실행되기 전에 적용되지 않습니다. 이로 인해 일부 토토 사이트 추천 장치가 응용 프로그램이 예상되지 않았으므로 릴리스되지 않으므로 (세션이 끝날 때까지) 릴리스되지 않습니다.pg_locks
.
자문 토토 사이트 추천을 조작하기 위해 제공된 기능은에 설명되어 있습니다.섹션 9.28.10.
문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면