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