無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

ALTER INDEX

名前

ALTER INDEX -- インデックス定義を変更する

概要

ALTER INDEX [ IF EXISTS ] 

name

 RENAME TO 

new_name


ALTER INDEX [ IF EXISTS ] 

name

 SET TABLESPACE 

tablespace_name


ALTER INDEX [ IF EXISTS ] 

name

 SET ( 

storage_parameter

 = 

value

 [, ... ] )
ALTER INDEX [ IF EXISTS ] 

name

 RESET ( 

storage_parameter

 [, ... ] )

説明

ALTER INDEX は既存のインデックスの定義を変更します。 以下のような副構文が存在します。

IF EXISTS

インデックスが存在しない場合にエラーとしません。 この場合注意メッセージが発生します。

RENAME

この RENAME 構文は、インデックスの名前を変更します。 格納されたデータには影響しません。

SET TABLESPACE

この構文は、インデックスのテーブル空間を指定したテーブル空間に変更し、インデックスに関連する(複数の)データファイルを移動します。 CREATE TABLESPACE も参照してください。

SET ( storage_parameter = value [, ... ] )

この構文は、インデックスに対し、インデックスメソッド固有の1つ以上の格納パラメータを変更します。 設定可能なパラメータについては CREATE INDEX を参照してください。 このコマンドにより、インデックスの内容は即座に変更されないことに注意してください。 パラメータによりますが、予定の効果を得るために REINDEX を使用してインデックスを再構築しなければならない場合もあります。

RESET ( storage_parameter [, ... ] )

この構文は、1つ以上のインデックスメソッド固有の格納パラメータをデフォルト値に再設定します。 SET 同様、インデックスを完全に更新するために REINDEX が必要になる場合があります。

パラメータ

name

変更対象の既存のインデックスの名前です(スキーマ修飾名も可)。

new_name

インデックスの新しい名前です。

tablespace_name

インデックスの移動先のテーブル空間です。

storage_parameter

インデックスメソッド固有の格納パラメータの名前です。

value

インデックスメソッド固有の格納パラメータの新しい値です。 パラメータに応じてこれが数値になることも文字列になることもあります。

注釈

これらの操作は ALTER TABLE を使用して行うこともできます。 実際には、 ALTER INDEX は、 ALTER TABLE のインデックス用構文の別名に過ぎません。

以前は ALTER INDEX OWNER という種類の構文がありましたが、(警告の上)無視されるようになりました。 インデックスの所有者は基のテーブルの所有者と異なるものにすることができません。 テーブルの所有者を変更すると自動的にインデックスの所有者も変わります。

システムカタログ用インデックスに対する変更は許されていません。

既存のインデックスの名前を変更します。

ALTER INDEX distributors RENAME TO suppliers;

インデックスを別のテーブル空間に移動します。

ALTER INDEX distributors SET TABLESPACE fasttablespace;

インデックスのフィルファクタを変更します(インデックスメソッドがフィルファクタをサポートしていることを仮定します)。

ALTER INDEX distributors SET (fillfactor = 75);
REINDEX INDEX distributors;

互換性

ALTER INDEX PostgreSQL の拡張です。

関連項目

CREATE INDEX , REINDEX

powered by SEO.CUG.NET