]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Document that CLUSTER breaks MVCC visibility rules.
authorMagnus Hagander <magnus@hagander.net>
Sun, 13 May 2007 16:04:22 +0000 (16:04 +0000)
committerMagnus Hagander <magnus@hagander.net>
Sun, 13 May 2007 16:04:22 +0000 (16:04 +0000)
(Not needed in cvs head, because CLUSTER itself is fixed there)

Heikki Linnakangas

doc/src/sgml/ref/cluster.sgml

index 12f18623d77f937dca72f519126e0f99eb0750f2..756e1bc569be7d1cae7a670953f99a4a29362ccf 100644 (file)
@@ -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