Help Center > > Developer Guide> System Catalogs and System Views> System Views> PG_LOCKS

PG_LOCKS

Updated at: Jul 15, 2020 GMT+08:00

PG_LOCKS displays information about the locks held by open transactions.

Table 1 PG_LOCKS columns

Name

Type

Reference

Description

locktype

text

-

Type of the locked object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, and advisory

database

oid

PG_DATABASE.oid

OID of the database in which the locked target exists

  • The OID is zero if the target is a shared object.
  • The OID is NULL if the locked target is a transaction.

relation

oid

PG_CLASS.oid

OID of the relationship targeted by the lock. The value is null if the object is not a relation or part of a relation.

page

integer

-

Page number targeted by the lock within the relationship. If the object is not a relation page or row page, the value is NULL.

tuple

smallint

-

Row number targeted by the lock within the page. If the object is not a row, the value is NULL.

virtualxid

text

-

Virtual ID of the transaction targeted by the lock. If the object is not a virtual transaction ID, the value is NULL.

transactionid

xid

-

ID of the transaction targeted by the lock. If the object is not a transaction ID, the value is NULL.

classid

oid

PG_CLASS.oid

OID of the system table that contains the object. If the object is not a general database object, the value is NULL.

objid

oid

-

OID of the lock target within its system table. If the target is not a general database object, the value is NULL.

objsubid

smallint

-

Column number for a column in the table. The value is zero if the target is some other object type. If the object is not a general database object, the value is NULL.

virtualtransaction

text

-

Virtual ID of the transaction holding or awaiting this lock.

pid

bigint

-

Logical ID of the server thread holding or awaiting this lock. This is NULL if the lock is held by a prepared transaction.

mode

text

-

Lock mode held or desired by this thread

granted

Boolean

-

Whether the lock is a held lock

  • The value is true if the lock is a held lock.
  • The value is false if the lock is an awaited lock.

fastpath

Boolean

-

Whether the lock is obtained through fast-path (true) or main lock table (false)

Did you find this page helpful?

Submit successfully!

Thank you for your feedback. Your feedback helps make our documentation better.

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel