postgres.git / summary / log / commit / refs
commit 7ee0498772e11631f9da2d8dd68f62843f7d651b
Author: Magnus Hagander <magnus@hagander.net>
Date: Sun May 13 16:04:22 2007 +0000
First released in: 7.4.18, 8.0.14, 8.1.10, 8.2.5
Document that CLUSTER breaks MVCC visibility rules.
(Not needed in cvs head, because CLUSTER itself is fixed there)
Heikki Linnakangas
doc/src/sgml/ref/cluster.sgml | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/doc/src/sgml/ref/cluster.sgml b/doc/src/sgml/ref/cluster.sgml
index 12f18623d77..756e1bc569b 100644
--- a/doc/src/sgml/ref/cluster.sgml
+++ b/doc/src/sgml/ref/cluster.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/cluster.sgml,v 1.30 2003/11/02 12:59:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/cluster.sgml,v 1.30.2.1 2007/05/13 16:04:22 mha Exp $
PostgreSQL documentation
-->
@@ -99,6 +99,17 @@ CLUSTER
<refsect1>
<title>Notes</title>
+ <para>
+ <command>CLUSTER</command> loses all visibility information of tuples,
+ which makes the table look empty to any snapshot that was taken
+ before the <command>CLUSTER</command> command finished. That makes
+ <command>CLUSTER</command> unsuitable for applications where
+ transactions that access the table being clustered are run concurrently
+ with <command>CLUSTER</command>. This is most visible with serializable
+ transactions, because they take only one snapshot at the beginning of the
+ transaction, but read-committed transactions are also affected.
+ </para>
+
<para>
In cases where you are accessing single rows randomly
within a table, the actual order of the data in the
[parent: e449e1912485]