select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Supported versions: Current (18) / 17 / 16 / 15 / 14
Development versions: 19 / devel
Unsupported versions: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Historical version. PostgreSQL 7.1 reached end of support in April 2006. See the current version for supported releases.

REINDEX

Name

REINDEX  --  Recover corrupted system indexes under stand-alone Postgres

Synopsis

REINDEX { TABLE | DATABASE | INDEX } name [ FORCE ]
  

Inputs

TABLE

Recreate all indexes of a specified table.

DATABASE

Recreate all system indexes of a specified database.

INDEX

Recreate a specified index.

name

The name of the specific table/database/index to be be reindexed.

FORCE

Recreate indexes forcedly. Without this keyword REINDEX does nothing unless target indexes are invalidated.

Outputs

REINDEX

Message returned if the table is successfully reindexed.

Description

REINDEX is used to recover corrupted system indexes. In order to run REINDEX command, postmaster must be shut down and stand-alone Postgres should be started instead with options -O and -P (an option to ignore system indexes). Note that we couldn't rely on system indexes for the recovery of system indexes.

Usage

Recreate the table mytable:

     REINDEX TABLE mytable;
   

Some more examples:

REINDEX DATABASE my_database FORCE;
REINDEX INDEX my_index;
   

Compatibility

SQL92

There is no REINDEX in SQL92.

Report a documentation issue

Read the upstream documentation. For corrections, first check the current version.