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