## Name

ALTER INDEX — change the definition of an index

## Synopsis

    ALTER INDEX name RENAME TO new_name
    ALTER INDEX name SET TABLESPACE tablespace_name

## Description

`ALTER INDEX` changes the definition of an existing index. There are several subforms:

`RENAME`

  The `RENAME` form changes the name of the index. There is no effect on the stored data.

`SET TABLESPACE`

  This form changes the index's tablespace to the specified tablespace and moves the data file(s) associated with the index to the new tablespace. See also CREATE TABLESPACE.

## Parameters

`name`

  The name (possibly schema-qualified) of an existing index to alter.

`new_name`

  New name for the index.

`tablespace_name`

  The tablespace to which the index will be moved.

## Notes

These operations are also possible using ALTER TABLE. `ALTER INDEX` is in fact just an alias for the forms of `ALTER TABLE` that apply to indexes.

There was formerly an `ALTER INDEX OWNER` variant, but this is now ignored (with a warning). An index cannot have an owner different from its table's owner. Changing the table's owner automatically changes the index as well.

Changing any part of a system catalog index is not permitted.

## Examples

To rename an existing index:

    ALTER INDEX distributors RENAME TO suppliers;

To move an index to a different tablespace:

    ALTER INDEX distributors SET TABLESPACE fasttablespace;

## Compatibility

`ALTER INDEX` is a PostgreSQL extension.