aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2011-06-24 16:06:57 -0400
committerRobert Haas <rhaas@postgresql.org>2011-06-24 16:09:35 -0400
commiteb03cff8208aa959aabb91aaac0e21fc88966409 (patch)
tree7384fb823bcb980d073012e5caf9df5d532c3a05
parent194e6ee74b0282d0a7b8d0c815ea7204fc23cec9 (diff)
downloadpostgresql-eb03cff8208aa959aabb91aaac0e21fc88966409.tar.gz
postgresql-eb03cff8208aa959aabb91aaac0e21fc88966409.zip
Documentation improvements for pg_locks with respect to SSI.
Explain that querying pg_locks does not simultaneously lock both the normal lock manager and the predicate lock manager. Per discussion with Kevin Grittner.
-rw-r--r--doc/src/sgml/catalogs.sgml19
1 files changed, 12 insertions, 7 deletions
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 7a380ce2f94..713ee25939e 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -7085,13 +7085,18 @@
</para>
<para>
- When the <structname>pg_locks</structname> view is accessed, the
- internal lock manager data structures are momentarily locked, and
- a copy is made for the view to display. This ensures that the
- view produces a consistent set of results, while not blocking
- normal lock manager operations longer than necessary. Nonetheless
- there could be some impact on database performance if this view is
- frequently accessed.
+ The <structname>pg_locks</structname> view displays data from both the
+ regular lock manager and the predicate lock manager, which are
+ separate systems. When this view is accessed, the internal data
+ structures of each lock manager are momentarily locked, and copies are
+ made for the view to display. Each lock manager will therefore
+ produce a consistent set of results, but as we do not lock both lock
+ managers simultaneously, it is possible for locks to be taken or
+ released after we interrogate the regular lock manager and before we
+ interrogate the predicate lock manager. Each lock manager is only
+ locked for the minimum possible time so as to reduce the performance
+ impact of querying this view, but there could nevertheless be some
+ impact on database performance if it is frequently accessed.
</para>
<para>