Commit e51ac1b8 authored by Tom Lane's avatar Tom Lane

Minor editorialization on CLUSTER reference page.

parent 7b78474d
<!-- <!--
$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 PostgreSQL documentation
--> -->
...@@ -20,7 +20,7 @@ PostgreSQL documentation ...@@ -20,7 +20,7 @@ PostgreSQL documentation
<refsynopsisdiv> <refsynopsisdiv>
<synopsis> <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 CLUSTER
</synopsis> </synopsis>
</refsynopsisdiv> </refsynopsisdiv>
...@@ -43,22 +43,24 @@ CLUSTER ...@@ -43,22 +43,24 @@ CLUSTER
based on the index information. Clustering is a one-time operation: based on the index information. Clustering is a one-time operation:
when the table is subsequently updated, the changes are when the table is subsequently updated, the changes are
not clustered. That is, no attempt is made to store new or not clustered. That is, no attempt is made to store new or
updated rows according to their index order. If one wishes, one can updated rows according to their index order. (If one wishes, one can
periodically recluster by issuing the command again. 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>
<para> <para>
When a table is clustered, <productname>PostgreSQL</productname> 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> <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>
<para> <para>
<command>CLUSTER</command> without any parameter reclusters all the tables <command>CLUSTER</command> without any parameter reclusters all the
in the previously-clustered tables in the current database that the calling user
current database that the calling user owns, or all tables if called owns, or all such tables if called by a superuser. This
by a superuser. (Never-clustered tables are not included.) This
form of <command>CLUSTER</command> cannot be executed inside a transaction form of <command>CLUSTER</command> cannot be executed inside a transaction
block. block.
</para> </para>
...@@ -197,12 +199,16 @@ CLUSTER; ...@@ -197,12 +199,16 @@ CLUSTER;
<title>Compatibility</title> <title>Compatibility</title>
<para> <para>
The syntax: There is no <command>CLUSTER</command> statement in the SQL standard.
</para>
<para>
The syntax
<synopsis> <synopsis>
CLUSTER <replaceable class="PARAMETER">indexname</replaceable> ON <replaceable class="PARAMETER">tablename</replaceable> CLUSTER <replaceable class="PARAMETER">indexname</replaceable> ON <replaceable class="PARAMETER">tablename</replaceable>
</synopsis> </synopsis>
is also supported for compatibility with pre-8.3 <productname>PostgreSQL</> installations. is also supported for compatibility with pre-8.3 <productname>PostgreSQL</>
There is no <command>CLUSTER</command> statement in the SQL standard. versions.
</para> </para>
</refsect1> </refsect1>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment