thepgrowlocks모듈 제공 a 지정된 A에 대한 행 잠금 정보를 표시하는 기능 테이블.
pgrowlocks (텍스트) 레코드를 반환
매개 변수는 테이블의 이름입니다. 결과는 일련의 세트입니다 테이블 내에서 잠긴 행에 대해 한 줄이있는 레코드. 그만큼 출력 열이에 표시됩니다.테이블 F-19.
테이블 F-19.pgrowlocks
출력 열
이름 | type | 설명 |
---|---|---|
locked_row | tid | 잠긴 행의 튜플 id (tid) |
lock_type | 텍스트 | 공유공유 잠금, 또는독점독점 잠그다 |
사물함 | xid | 사물함의 트랜잭션 ID 또는 MultixAct ID 다중 계산 |
멀티 | 부울 | True Locker가 다중 이동 |
XIDS | xid [] | 사물함의 트랜잭션 ID (IF 이상 다중 계산) |
PIDS | 정수 [] | 백엔드 잠금의 절차 ID (IF가 둘 이상 다중 계산) |
pgrowlocks
테이크accesssharelock대상 테이블의 경우
행 잠금 정보를 수집하기 위해 각 행을 하나씩 하나씩.
큰 테이블에는 빠르지 않습니다. 참고 :
전체 테이블이 누군가가 독점적으로 잠긴 경우
또 다른,pgrowlocks
막힌.
pgrowlocks
그렇지 않습니다
일관된 스냅 샷을 생성하도록 보장됩니다. 그것은
새 행 잠금 장치가 발생하거나 오래된 자물쇠가
처형 중에 해방됩니다.
pgrowlocks
표시되지 않습니다
잠긴 줄의 내용. 행을보고 싶다면
동시에 내용은 다음과 같은 일을 할 수 있습니다.
이것:
선택 *에서 계정에서 a, pgrowlocks ( '계정')로 p 여기서 p.locked_row = a.ctid;
그러나 그럼에는주의하십시오 (롤 토토8.3) 그러한 쿼리는 매우 될 것입니다 무능한.
test =# select * from pgrowlocks ( 't1'); locked_row | lock_type | 사물함 | 멀티 | xids | PIDS ------------+-----------+--------+-------------------------------------------------------------------------- (0,1) | 공유 | 19 | t | 804,805 | 29066,29068 (0,2) | 공유 | 19 | t | 804,805 | 29066,29068 (0,3) | 독점 | 804 | f | 804 | 29066 (0,4) | 독점 | 804 | f | 804 | 29066
Tatsuo Ishii