Unsupported versions: 7.0
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

REINDEX

Name

REINDEX — Recover corrupted system indexes under standalone Postgres
REINDEX { TABLE | DATABASE | INDEX } name [ FORCE ]
  

Inputs

TABLE

Recreate all indexes of a specfied table.

DATABASE

Recreate all system indexes of a specfied database.

INDEX

Recreate a specfied 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 shutdown and standalone 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.