thepgrowlocks
모듈은 지정된 표에 대한 행 잠금 정보를 표시하는 함수를 제공합니다.
기본적으로 기본적으로 슈퍼업자로 제한됩니다.PG_STAT_SCAN_TABLE
역할 및 사용자와의 사용자select
표에 대한 권한.
pgrowlocks (텍스트) 레코드를 반환
매개 변수는 테이블의 이름입니다. 결과는 레코드 세트이며 테이블 내에서 잠긴 각 행마다 하나의 행이 있습니다. 출력 열이에 표시됩니다.테이블 F.20.
표 F.20. pgrowlocks
출력 열
이름 | type | 설명 |
---|---|---|
locked_row |
TID |
잠긴 행의 튜플 id (tid) |
사물함 |
xid |
Locker의 트랜잭션 ID 또는 MultitRansaction 인 경우 Multixact ID |
멀티 |
부울 |
True Locker가 다중 정보 인 경우 |
XIDS |
xid [] |
사물함의 트랜잭션 ID (multitransaction이면 둘 이상) |
모드 |
텍스트 [] |
Lock Mode of Lockers (multitransaction이면 하나 이상), 배열키 공유 , 공유 , 키 업데이트 없음 , 키 업데이트 없음 , 업데이트 , 업데이트 . |
PIDS |
정수 [] |
백엔드 잠금의 ID (multitransaction이면 하나 이상) |
pgrowlocks
테이크accesssharelock
대상 테이블의 경우 각 행을 하나씩 읽어 행 잠금 정보를 수집합니다. 큰 테이블에는 빠르지 않습니다. 참고 :
IF an액세스 독점
잠금 장치가 테이블에서 찍 힙니다.pgrowlocks
차단됩니다.
pgrowlocks
는 일관된 스냅 샷을 생성하는 것이 보장되지 않습니다. 실행 중에 새 행 잠금 장치가 취해 지거나 오래된 잠금 장치가 제거 될 수 있습니다.
pgrowlocks
잠긴 행의 내용은 표시되지 않습니다. 행 내용을 동시에 살펴보고 싶다면 다음과 같은 일을 할 수 있습니다.
선택 *에서 계정에서 a, pgrowlocks ( '계정')로 p 여기서 p.locked_row = a.ctid;
그러나 그러한 쿼리는 매우 비효율적이라는 점에주의하십시오.
=# select * from pgrowlocks ( 't1'); locked_row | 사물함 | 멀티 | xids | 모드 | PIDS ------------+--------+-------+-------+------------------------- (0,1) | 609 | f | 609 | "공유" | 3161 (0,2) | 609 | f | 609 | "공유" | 3161 (0,3) | 607 | f | 607 | "업데이트 용" | 3107 (0,4) | 607 | f | 607 | "업데이트 용" | 3107
Tatsuo Ishii
문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면