ALTER INDEX

Name

ALTER INDEX -- 改变一个索引的定义

Synopsis

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

描述

ALTER INDEX 改变一个现有索引的定义。 它有几种子形式:

RENAME

RENAME 形式改变索引的名字。对存储的数据没有影响。

SET TABLESPACE

这种形式改变索引的表空间为指定表空间,并且把索引相关的数据文件移动到新的表空间里。 又见 CREATE TABLESPACE

参数

name

要修改的索引的名字(可以有模式修饰)。

new_name

索引的新名字。

new_owner

索引的新所有者的用户名。

tablespace_name

索引将移动到的表空间的名字。

注意

这些操作也可以用 ALTER TABLE 进行。 ALTER INDEX 实际上只是 ALTER TABLE 应用于索引的形式的一个别名。

以前还有一个 ALTER INDEX OWNER 变种, 但是现在忽略了(带一个警告)。一个索引不能有一个和其表的主人不同的所有者。 改变该表的所有者自动改变索引的所有者。

修改任何系统表索引的部分都是不允许的。

例子

重命名一个现有的索引:

ALTER INDEX distributors RENAME TO suppliers;

把一个索引移动到另外一个表空间:

ALTER INDEX distributors SET TABLESPACE fasttablespace;

兼容性

ALTER INDEX 是一个 PostgreSQL 的扩展。