이 문서는 지원되지 않는 버전의 토토 사이트 추천을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 사이트 순위 PostgreSQL : 문서 : 17 : 52.12. pg_locks버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

45.58. PG_LOCKS

보기PG_LOCKS액세스를 제공합니다 공개 거래에서 보유한 자물쇠에 대한 정보에 데이터베이스 서버. 보다사설 토토 : 문서 : 9.2 : 동시성 제어토토 사이트 추천에 대한 더 많은 토론.

pg_locks당 1 행을 포함합니다 활성 잠금 가능 객체, 요청 된 잠금 모드 및 관련성 거래. 따라서 동일한 잠긴 물체가 많이 보일 수 있습니다 시간, 여러 거래가 잠금을 보유하거나 대기하는 경우 그것에. 그러나 현재 잠금 장치가없는 객체는 전혀 나타나지 않습니다.

몇 가지 고유 한 유형의 잠글 수있는 객체가 있습니다 : 전체 관계 (예 : 테이블), 개별 관계 페이지, 관계의 개별 튜플, 트랜잭션 ID (모두 가상 및 영구 ID) 및 일반 데이터베이스 개체 (클래스로 식별 Oid 및 Object Oid,과 같은 방식으로pg_description또는pg_depender). 또한 확장 할 권리 a 관계는 별도의 토토 사이트 추천 가능 객체로 표시됩니다. 또한,"자문"토토 사이트 추천 장치를 사용할 수 있습니다 사용자 정의 의미가있는 숫자.

표 45-59.pg_locks

이름 타입 참조 설명
LockType 텍스트 토토 사이트 추천 식 개체의 유형 :관계, Extend, 페이지, 튜플, TransactionId, virtualxid, 개체, UserLock, 또는자문
데이터베이스 OID pg_database.Oid 잠금 대상이 존재하는 데이터베이스의 OID, 또는 대상이 공유 객체 인 경우 0 또는 대상은 거래 ID입니다.
관계 OID pg_class.Oid 잠금 장치를 대상으로하는 관계의 OID 또는 if 대상은 관계 또는 관계의 일부가 아닙니다
page 정수 관계 내의 잠금을 대상으로하는 페이지 번호, 또는 대상이 관계 페이지가 아닌 경우 튜플
튜플 smallint 튜플 번호 페이지 내의 잠금을 대상으로하거나 대상이 튜플이 아닌 경우 null
virtualxid 텍스트 잠금을 대상으로 한 트랜잭션의 가상 ID, 또는 대상이 가상 트랜잭션이 아닌 경우 NULL ID
TransactionId xid 잠금을 대상으로 한 트랜잭션의 ID 또는 NULL 대상이 거래 ID가 아닌 경우
classID OID pg_class.Oid 잠금 대상을 포함하는 시스템 카탈로그의 OID, 또는 대상이 일반 데이터베이스가 아닌 경우 NULL 물체
objid OID 모든 OID 열 시스템 카탈로그 내에서 잠금 대상의 OID NULL 대상이 일반 데이터베이스 개체가 아닌 경우
objsubid smallint 토토 사이트 추천을 대상으로하는 열 번호 (classidandobjid표 자체를 참조하십시오), 또는 0이 대상이 다른 일반 데이터베이스 객체 인 경우 또는 대상이 일반 데이터베이스가 아닌 경우 NULL 물체
VirtualTransaction 텍스트 보유하고있는 트랜잭션의 가상 ID 이 자물쇠를 기다리고
PID Integer 서버 프로세스 보유 또는 기다리고있는 프로세스 ID 이 자물쇠 또는 잠금 장치가 준비된 경우 거래
모드 텍스트 이 프로세스에서 보유하거나 원하는 잠금 모드의 이름 (보다섹션 13.3.1and섹션 13.2.3)
부여 부울 진실 토토 사이트 추천 장치가 유지되면, 토토 사이트 추천이 기다리고있는 경우 false
FastPath 부울 FAST PATH를 통해 토토 사이트 추천을 가져간 경우 True, 찍은 경우 False 메인 토토 사이트 추천 테이블을 통해

부여연속으로 참입니다 표시된 트랜잭션에 의해 보유 된 잠금을 나타냅니다. 거짓 이 거래가 현재 인수를 기다리고 있음을 나타냅니다 이 자물쇠는 다른 거래가 동일한 잠금 가능 객체의 충돌 잠금 모드. 대기 중 거래가 다른 자물쇠가 릴리스 될 때까지 (또는 교착 상태 상황이 감지됩니다). 단일 거래는 가능합니다 한 번에 최대 한 자물쇠를 얻기를 기다리고 있습니다.

모든 트랜잭션은 가상에 대한 독점 잠금 장치를 보유합니다 전체 기간 동안 트랜잭션 ID. 영구 ID 인 경우 거래에 할당 된 (일반적으로 발생하는 경우에만 발생합니다. 트랜잭션은 데이터베이스의 상태를 변경합니다. 영구 거래 ID가 끝날 때까지 독점 잠금. 하나의 거래가 특별히 대기 할 필요가있는 경우 또 다른 거래, 공유를 취득하려고 시도합니다. 다른 트랜잭션 ID를 잠그십시오 (가상 또는 영구 ID 상황에 따라). 그것은 만에만 성공할 것입니다 다른 거래는 자물쇠를 종료하고 릴리스합니다.

튜플은 잠긴 유형의 물체이지만 정보입니다 로드 레벨 잠금 정보는 메모리가 아닌 디스크에 저장되며 따라서이 뷰에서는 줄 수준의 잠금이 일반적으로 나타나지 않습니다. 만약에 트랜잭션은로드 레벨 잠금을 기다리고 있습니다. 일반적으로 영구 거래 ID를 기다리는 것으로보기에 나타납니다. 그 행 잠금의 현재 보유자.

자문 잠금 장치는 하나의bigint값 또는 두 정수 값. 에이bigint키가 표시됩니다 고차 절반classId열, 저음 절반의objid열,objsubid1과 동일합니다. 정수 키가 있습니다 의 첫 번째 키로 표시classId열, 두 번째 키objid열,objsubid2와 같습니다 키는 사용자에게 달려 있습니다. 자문 잠금 장치는 각각에 현지입니다 데이터베이스, 그래서데이터베이스열은 자문 잠금에 의미가 있습니다.

pg_locks글로벌 관점을 제공합니다 데이터베이스 클러스터의 모든 잠금은 현재 데이터베이스. 비록관계열에 가입 할 수 있습니다PG_CLASS.OID잠긴 관계를 식별하려면 이것이 그럴 것입니다 현재 데이터베이스의 관계에 대해서만 올바르게 작동합니다 (데이터베이스열은 현재 데이터베이스의 OID 또는 0).

thePID열에 가입 할 수 있습니다 그만큼PID열의 열pg_stat_activity더 많은 것을 얻으려면 세션 보유 또는 각 자물쇠를 대기하기 위해 대기하는 정보, 예를 들어

선택 * PG_LOCKS FROM LEFT PG_STAT_ACTIVITY PSA에 가입하십시오
    on pl.pid = psa.pid;

또한 준비된 트랜잭션을 사용하는 경우VirtualTransaction열에 가입 할 수 있습니다거래열의 열PG_PREPARED_XACTS더 많은 것을 얻으려면 잠금 장치를 보유하는 준비된 거래에 대한 정보. (준비된 거래는 자물쇠를 기다릴 수 없지만 계속 실행 중에 획득 한 자물쇠를 잡습니다.) 예 :

선택 *에서 * PG_LOCKS FROM PL LEFT PG_PREPARED_XACTS PPX 가입
    pl.VirtualTransaction = '-1/'||에서 ppx.Transaction;

thePG_LOCKS보기 데이터가 표시됩니다 일반 잠금 관리자와 술어 잠금 장치에서 별도의 시스템 인 관리자; 또한 일반 잠금 관리자는 자물쇠를 정기적으로 세분화하고빠른 경로잠금. 이 데이터는 보장되지 않습니다 완전히 일관성을 유지하십시오. 보기가 쿼리되면 데이터가 켜집니다 빠른 경로 잠금 장치 (withFastPath=true)는 각 백엔드에서 수집됩니다 한 번에 전체 잠금 관리자의 상태를 얼지 않고 따라서 자물쇠를 가져 가거나 출시 할 수 있습니다. 정보가 수집됩니다. 그러나이 자물쇠는이 자물쇠가 있습니다 현재 다른 자물쇠와 충돌하지 않는 것으로 알려져 있습니다. 모든 백엔드가 빠른 경로 잠금을 위해 쿼리 된 후 일반 잠금 관리자의 나머지는 단위로 잠겨 있으며 나머지 자물쇠의 일관된 스냅 샷은 원자 작용. 일반 잠금 관리자를 잠금 해제 한 후 술어 잠금 관리자는 비슷하게 잠겨 있으며 모든 술어입니다 자물쇠는 원자 작용으로 수집됩니다. 따라서 예외가 있습니다 빠른 경로 잠금 장치로 각 잠금 관리자는 일관된 것을 제공합니다. 결과 세트, 그러나 우리는 두 자물쇠 관리자를 잠그지 않기 때문에 동시에 자물쇠를 가져 가거나 해제 할 수 있습니다. 우리가 일반 잠금 관리자를 심문 한 후 술어 잠금 관리자를 심문하십시오.

일반 및/또는 술어 잠금 관리자를 잠그십시오 이보기가 매우 자주 접근했습니다. 자물쇠는 최소에 대해서만 고정됩니다 잠금 관리자로부터 데이터를 얻는 데 필요한 시간, 그러나 이것이의 가능성을 완전히 제거하지는 않습니다. 성능 영향.