ALTER INDEX

ALTER INDEX —更改索引的定义

Synopsis

ALTER INDEX [ IF EXISTS ] name RENAME TO new_name
ALTER INDEX [ IF EXISTS ] name SET TABLESPACE tablespace_name
ALTER INDEX name ATTACH PARTITION index_name
ALTER INDEX name DEPENDS ON EXTENSION extension_name
ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] )
ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] )
ALTER INDEX [ IF EXISTS ] name ALTER [ COLUMN ] column_number
    SET STATISTICS integer
ALTER INDEX ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
    SET TABLESPACE new_tablespace [ NOWAIT ]

Description

ALTER INDEX更改现有索引的定义。有几个子窗体:

Parameters

Notes

使用ALTER TABLE也可以执行这些操作。 ALTER INDEX实际上只是适用于索引的ALTER TABLE形式的别名。

以前有一个ALTER INDEX OWNER变体,但现在已忽略(带有警告)。索引的所有者不能与表的所有者不同。更改表的所有者也会自动更改索引。

不允许更改系统目录索引的任何部分。

Examples

重命名现有索引:

ALTER INDEX distributors RENAME TO suppliers;

要将索引移到其他表空间:

ALTER INDEX distributors SET TABLESPACE fasttablespace;

要更改索引的填充因子(假设 index 方法支持它):

ALTER INDEX distributors SET (fillfactor = 75);
REINDEX INDEX distributors;

设置表达式索引的统计信息收集目标:

CREATE INDEX coord_idx ON measured (x, y, (z + t));
ALTER INDEX coord_idx ALTER COLUMN 3 SET STATISTICS 1000;

Compatibility

ALTER INDEX是 PostgreSQL 扩展。

See Also

CREATE INDEX, REINDEX

上一章 首页 下一章