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 [create_tablespace(7)].

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_table(7)]. 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.