INDEXは既存のインデックスの定義を変更します。以下のような副構文が存在します。RENAMEこのRENAME構文は、インデックスの名前を変更します。格納されたデータには影響しません。TABLESPACEこの構文は、インデックスのテーブル空間を指定したテーブル空間に変更し、インデックスに関連するデータファイルを移動します。インデックスのテーブル空間を変更するには、インデックスの所有者であり、かつ新しいテーブル空間のCREATE権限を有している必要があります。TABLESPACE構文を使うことで、テーブル空間内の現在のデータベースのすべてのインデックスを移動することができます。この場合、移動されるすべてのインデックスがロックされ、それから1つずつ移動されます。BYもサポートしており、これを使うと、指定のロールが所有しているインデックスだけを移動します。NOWAITオプションを指定した場合、必要とするすべてのロックを即座に獲得できなければ、このコマンドは失敗します。このコマンドではシステムカタログは移動されないことに注意してください。INDEXで明示的に指定してください。TABLESPACEも参照してください。EXTENSIONこの構文は、インデックスが拡張に依存するものとして印をつけます。これにより、拡張が削除されたときに、インデックスも自動的に削除されるようになります。)この構文は、インデックスに対し、インデックスメソッド固有の1つ以上の格納パラメータを変更します。INDEXを参照してください。このコマンドにより、インデックスの内容がすぐに変更されるわけではないことに注意してください。パラメータによりますが、期待する効果を得るためにREINDEXを使用してインデックスを再構築しなければならない場合もあります。)この構文は、1つ以上のインデックスメソッド固有の格納パラメータをデフォルト値に再設定します。SET同様、インデックスを完全に更新するためにREINDEXが必要になる場合があります。EXISTSインデックスが存在しない場合にエラーとしません。この場合注意メッセージが発生します。name変更対象の既存のインデックスの名前です(スキーマ修飾名も可)。new_nameインデックスの新しい名前です。tablespace_nameインデックスの移動先のテーブル空間です。extension_nameインデックスが依存することになる拡張の名前です。storage_parameterインデックスメソッド固有の格納パラメータの名前です。valueインデックスメソッド固有の格納パラメータの新しい値です。パラメータに応じてこれが数値になることも文字列になることもあります。TABLEを使用して行うこともできます。TABLEのインデックス用構文の別名に過ぎません。OWNERという種類の構文がありましたが、(警告の上)無視されるようになりました。インデックスの所有者は基のテーブルの所有者と異なるものにすることができません。テーブルの所有者を変更すると自動的にインデックスの所有者も変わります。システムカタログ用インデックスに対する変更は許されていません。既存のインデックスの名前を変更します。suppliers;インデックスを別のテーブル空間に移動します。fasttablespace;インデックスのフィルファクタを変更します(インデックスメソッドがフィルファクタをサポートしていることを前提とします)。INDEXはPostgreSQLの拡張です。