Re: Need help understanding pg_locks

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Florian Pflug <fgp(at)phlo(dot)org>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Need help understanding pg_locks
Date: 2011-07-15 17:12:42
Message-ID: 201107151712.p6FHCgb29584@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Thanks, applied.

---------------------------------------------------------------------------

Florian Pflug wrote:
> On Jul14, 2011, at 22:18 , Bruce Momjian wrote:
> > ! OID of the database in which the lock target exists, or
> > ! zero if the lock is a shared object, or
> > ! null if the lock is on a transaction ID
>
> For consistency, I think it should say "target" in the second part
> of the sentence also now, instead of "lock ... on".
>
> Updated patch attached. I tried to make the descriptions a
> bit more consistent, replaced "object" by "target", and
> added "targeted by" after the phrase which describes the
> locked (or waited-for) object.
>
> best regards,
> Florian Pflug
>
> diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
> index d4a1d36..33be5d0 100644
> *** a/doc/src/sgml/catalogs.sgml
> --- b/doc/src/sgml/catalogs.sgml
> ***************
> *** 6928,6936 ****
> <entry><type>oid</type></entry>
> <entry><literal><link linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry>
> <entry>
> ! OID of the database in which the object exists, or
> ! zero if the object is a shared object, or
> ! null if the object is a transaction ID
> </entry>
> </row>
> <row>
> --- 6928,6936 ----
> <entry><type>oid</type></entry>
> <entry><literal><link linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry>
> <entry>
> ! OID of the database in which the lock target exists, or
> ! zero if the target is a shared object, or
> ! null if the target is a transaction ID
> </entry>
> </row>
> <row>
> ***************
> *** 6938,6944 ****
> <entry><type>oid</type></entry>
> <entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
> <entry>
> ! OID of the relation, or null if the object is not
> a relation or part of a relation
> </entry>
> </row>
> --- 6938,6944 ----
> <entry><type>oid</type></entry>
> <entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
> <entry>
> ! OID of the relation targeted by the lock, or null if the target is not
> a relation or part of a relation
> </entry>
> </row>
> ***************
> *** 6947,6954 ****
> <entry><type>integer</type></entry>
> <entry></entry>
> <entry>
> ! Page number within the relation, or null if the object
> ! is not a tuple or relation page
> </entry>
> </row>
> <row>
> --- 6947,6954 ----
> <entry><type>integer</type></entry>
> <entry></entry>
> <entry>
> ! Page number targeted by the lock within the relation,
> ! or null if the target is not a relation page or tuple
> </entry>
> </row>
> <row>
> ***************
> *** 6956,6962 ****
> <entry><type>smallint</type></entry>
> <entry></entry>
> <entry>
> ! Tuple number within the page, or null if the object is not a tuple
> </entry>
> </row>
> <row>
> --- 6956,6963 ----
> <entry><type>smallint</type></entry>
> <entry></entry>
> <entry>
> ! Tuple number targeted by the lock within the page,
> ! or null if the target is not a tuple
> </entry>
> </row>
> <row>
> ***************
> *** 6964,6971 ****
> <entry><type>text</type></entry>
> <entry></entry>
> <entry>
> ! Virtual ID of a transaction, or null if the object is not a
> ! virtual transaction ID
> </entry>
> </row>
> <row>
> --- 6965,6972 ----
> <entry><type>text</type></entry>
> <entry></entry>
> <entry>
> ! Virtual ID of the transaction targeted by the lock,
> ! or null if the target is not a virtual transaction ID
> </entry>
> </row>
> <row>
> ***************
> *** 6973,6979 ****
> <entry><type>xid</type></entry>
> <entry></entry>
> <entry>
> ! ID of a transaction, or null if the object is not a transaction ID
> </entry>
> </row>
> <row>
> --- 6974,6981 ----
> <entry><type>xid</type></entry>
> <entry></entry>
> <entry>
> ! ID of the transaction targeted by the lock,
> ! or null if the target is not a transaction ID
> </entry>
> </row>
> <row>
> ***************
> *** 6981,6988 ****
> <entry><type>oid</type></entry>
> <entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
> <entry>
> ! OID of the system catalog containing the object, or null if the
> ! object is not a general database object
> </entry>
> </row>
> <row>
> --- 6983,6990 ----
> <entry><type>oid</type></entry>
> <entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
> <entry>
> ! OID of the system catalog containing the lock target, or null if the
> ! target is not a general database object
> </entry>
> </row>
> <row>
> ***************
> *** 6990,6997 ****
> <entry><type>oid</type></entry>
> <entry>any OID column</entry>
> <entry>
> ! OID of the object within its system catalog, or null if the
> ! object is not a general database object.
> For advisory locks it is used to distinguish the two key
> spaces (1 for an int8 key, 2 for two int4 keys).
> </entry>
> --- 6992,6999 ----
> <entry><type>oid</type></entry>
> <entry>any OID column</entry>
> <entry>
> ! OID of the lock target within its system catalog, or null if the
> ! target is not a general database object.
> For advisory locks it is used to distinguish the two key
> spaces (1 for an int8 key, 2 for two int4 keys).
> </entry>
> ***************
> *** 7001,7010 ****
> <entry><type>smallint</type></entry>
> <entry></entry>
> <entry>
> ! For a table column, this is the column number (the
> <structfield>classid</> and <structfield>objid</> refer to the
> ! table itself). For all other object types, this column is
> ! zero. Null if the object is not a general database object
> </entry>
> </row>
> <row>
> --- 7003,7013 ----
> <entry><type>smallint</type></entry>
> <entry></entry>
> <entry>
> ! Column number targeted by the lock (the
> <structfield>classid</> and <structfield>objid</> refer to the
> ! table itself),
> ! or zero if the target is some other general database object,
> ! or null if the target is not a general database object
> </entry>
> </row>
> <row>

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-07-15 17:13:19 Re: Reduced power consumption in WAL Writer process
Previous Message Kevin Grittner 2011-07-15 17:06:42 Re: SSI error messages