PostgreSQL 8.0.3 Documentation
Prev | Fast Backward |  | Fast Forward | Next

# ALTER INDEX

## Name

ALTER INDEX -- change the definition of an index

## Synopsis

    ALTER INDEX name
        action [, ... ]
    ALTER INDEX name
        RENAME TO new_name

    where action is one of:

        OWNER TO new_owner
        SET TABLESPACE indexspace_name

## Description

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

`OWNER`

  This form changes the owner of the index to the specified user. This can only be done by a superuser.

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

`RENAME`

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

All the actions except `RENAME` can be combined into a list of multiple alterations to apply in parallel.

## Parameters

`name`

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

`new_name`

  New name for the index.

`new_owner`

  The user name of the new owner of the index.

`tablespace_name`

  The tablespace name 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.

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 a index to a different tablespace:

    ALTER INDEX distributors SET TABLESPACE fasttablespace;

## Compatibility

`ALTER INDEX` is a PostgreSQL extension.

Prev | Home | Next
ALTER GROUP | Up | ALTER LANGUAGE