Use the CLUSTER command to cluster a table on a specific index. The table (identified by the
parameter) must already, exist and the index (identified by the
parameter) must exist, and be placed on the table.
During clustering, a table is reordered for performance in an arrangement based on the specified index. A cluster is a one-time operation upon a table; to recluster a table, you must execute the command again.
When a cluster is created, the rows of the table are actually copied to a temporary table according to an order derived from the specified index. That temporary table is then renamed to the original table name. Because of this, all permissions and other indices are lost when clustering is performed.
The following example clusters the subjects table on the basis of its subjects_pkey index:
CLUSTER subjects_ pkey ON subjects;