F.29. pgrowlocks

thepgrowlocks모듈은 지정된 표에 대한 행 잠금 정보를 표시하는 함수를 제공합니다.

기본적으로 기본적으로 슈퍼업자로 제한됩니다.PG_STAT_SCAN_TABLE역할 및 사용자와의 사용자select표에 대한 권한.

F.29.1. 개요

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대상 테이블의 경우 각 행을 하나씩 읽어 행 잠금 정보를 수집합니다. 큰 테이블에는 빠르지 않습니다. 참고 :

  1. IF an액세스 독점잠금 장치가 테이블에서 찍 힙니다.pgrowlocks차단됩니다.

  2. pgrowlocks는 일관된 스냅 샷을 생성하는 것이 보장되지 않습니다. 실행 중에 새 행 잠금 장치가 취해 지거나 오래된 잠금 장치가 제거 될 수 있습니다.

pgrowlocks잠긴 행의 내용은 표시되지 않습니다. 행 내용을 동시에 살펴보고 싶다면 다음과 같은 일을 할 수 있습니다.

선택 *에서 계정에서 a, pgrowlocks ( '계정')로 p
  여기서 p.locked_row = a.ctid;

그러나 그러한 쿼리는 매우 비효율적이라는 점에주의하십시오.

F.29.2. 샘플 출력

=# 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

F.29.3. 작가

Tatsuo Ishii

정정 제출

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