PostgreSQL User's Guide
Prev |  | Next

# 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.

Prev | Home | Next
NOTIFY | Up | RESET