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
的扩展。