Index Storage Parameters
- The WITH> clause can specify storage parameters>
- for indexes. Each index method can have its own set of allowed storage
- parameters. The B-tree, hash and
- GiST built-in index methods all accept a single parameter:
+ The optional WITH> clause specifies storage
+ parameters> for the index. Each index method has its own set of allowed
+ storage parameters. The B-tree, hash and GiST index methods all accept a
+ single parameter:
The fillfactor for an index is a percentage that determines how full
the index method will try to pack index pages. For B-trees, leaf pages
are filled to this percentage during initial index build, and also
- when extending the index at the right (largest key values). If pages
+ when extending the index at the right (adding new largest key values).
+ If pages
subsequently become completely full, they will be split, leading to
gradual degradation in the index's efficiency. B-trees use a default
- fillfactor of 90, but any value from 10 to 100 can be selected.
+ fillfactor of 90, but any integer value from 10 to 100 can be selected.
If the table is static then fillfactor 100 is best to minimize the
index's physical size, but for heavily updated tables a smaller
fillfactor is better to minimize the need for page splits. The
- GIN indexes accept a different parameter:
+ GIN indexes accept a different parameter:
command will fail but leave behind an invalid> index. This index
will be ignored for querying purposes because it might be incomplete;
however it will still consume update overhead. The
psql>
- \d> command will mark such an index as INVALID>:
+ \d> command will report such an index as INVALID>:
postgres=# \d tab
For index methods that support ordered scans (currently, only B-tree),
the optional clauses ASC>, DESC>, NULLS
- FIRST>, and/or NULLS LAST> can be specified to reverse
- the normal sort direction of the index. Since an ordered index can be
+ FIRST>, and/or NULLS LAST> can be specified to modify
+ the sort ordering of the index. Since an ordered index can be
scanned either forward or backward, it is not normally useful to create a
single-column DESC> index — that sort ordering is already
available with a regular index. The value of these options is that
To create a
GIN> index with fast updates disabled:
-CREATE INDEX gin_idx ON documents_table (locations) WITH (fastupdate = off);
+CREATE INDEX gin_idx ON documents_table USING gin (locations) WITH (fastupdate = off);
-
To create an index without locking out writes to the table: