From e51ac1b899cf9abdf07ee74e788ac9a02e809c3f Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 8 Apr 2007 02:07:35 +0000
Subject: [PATCH] Minor editorialization on CLUSTER reference page.

---
 doc/src/sgml/ref/cluster.sgml | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/doc/src/sgml/ref/cluster.sgml b/doc/src/sgml/ref/cluster.sgml
index c038d387c81..acb2468f7ba 100644
--- a/doc/src/sgml/ref/cluster.sgml
+++ b/doc/src/sgml/ref/cluster.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/cluster.sgml,v 1.41 2007/04/08 00:26:33 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/cluster.sgml,v 1.42 2007/04/08 02:07:35 tgl Exp $
 PostgreSQL documentation
 -->
 
@@ -20,7 +20,7 @@ PostgreSQL documentation
 
  <refsynopsisdiv>
 <synopsis>
-CLUSTER <replaceable class="PARAMETER">tablename</replaceable> [ USING <replaceable class="PARAMETER">indexname</replaceable> ]
+CLUSTER <replaceable class="PARAMETER">tablename</replaceable> <optional> USING <replaceable class="PARAMETER">indexname</replaceable> </optional>
 CLUSTER
 </synopsis>
  </refsynopsisdiv>
@@ -43,22 +43,24 @@ CLUSTER
    based on the index information. Clustering is a one-time operation:
    when the table is subsequently updated, the changes are
    not clustered.  That is, no attempt is made to store new or
-   updated rows according to their index order.  If one wishes, one can
-   periodically recluster by issuing the command again.
+   updated rows according to their index order.  (If one wishes, one can
+   periodically recluster by issuing the command again.  Also, setting
+   the table's FILLFACTOR storage parameter to less than 100% can aid
+   in preserving cluster ordering during updates, since updated rows
+   are preferentially kept on the same page.)
   </para>
 
   <para>
    When a table is clustered, <productname>PostgreSQL</productname>
-   remembers on which index it was clustered.  The form
+   remembers which index it was clustered by.  The form
    <command>CLUSTER <replaceable class="parameter">tablename</replaceable></command>
-   reclusters the table on the same index that it was clustered before.
+   reclusters the table using the same index as before.
   </para>
 
   <para>
-   <command>CLUSTER</command> without any parameter reclusters all the tables
-   in the
-   current database that the calling user owns, or all tables if called
-   by a superuser.  (Never-clustered tables are not included.)  This
+   <command>CLUSTER</command> without any parameter reclusters all the
+   previously-clustered tables in the current database that the calling user
+   owns, or all such tables if called by a superuser.  This
    form of <command>CLUSTER</command> cannot be executed inside a transaction
    block.
   </para>
@@ -197,12 +199,16 @@ CLUSTER;
   <title>Compatibility</title>
 
   <para>
-   The syntax:
+   There is no <command>CLUSTER</command> statement in the SQL standard.
+  </para>
+
+  <para>
+   The syntax
 <synopsis>
 CLUSTER <replaceable class="PARAMETER">indexname</replaceable> ON <replaceable class="PARAMETER">tablename</replaceable>
 </synopsis>
-  is also supported for compatibility with pre-8.3 <productname>PostgreSQL</> installations.
-  There is no <command>CLUSTER</command> statement in the SQL standard.
+  is also supported for compatibility with pre-8.3 <productname>PostgreSQL</>
+  versions.
   </para>
  </refsect1>
 
-- 
GitLab