ALTER INDEX

Name

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

Synopsis

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

这里的 action 是下列之一:

    OWNER TO new_owner
    SET TABLESPACE indexspace_name

描述

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

OWNER

这种形式改变索引的所有者为指定用户。 这种形式只能由超级用户执行。

SET TABLESPACE

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

RENAME

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

除了 RENAME 之外,所有动作都可以组合程一列多动作的修改同时施加。

参数

name

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

new_name

索引的新名字。

new_owner

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

tablespace_name

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

注意

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

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

例子

重命名一个现有的索引:

ALTER INDEX distributors RENAME TO suppliers;

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

ALTER INDEX distributors SET TABLESPACE fasttablespace;

兼容性

ALTER INDEX 是一个 PostgreSQL 的扩展。