DROP INDEXはインデックスを削除します。
説明
DROP INDEXは、データベースシステムから既存のインデックスを削除します。 このコマンドを実行するには、インデックスの所有者である必要があります。
概要
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [カスケード | 制限]パラメーター
結論:インデックスのテーブルの同時選択、挿入、更新、および削除をロックアウトせずに、インデックスを削除します。 通常の
DROP INDEXは、テーブルのACCESS EXCLUSIVEロックを取得し、インデックスの削除が完了するまで他のアクセスをブロックします。 このオプションでは、競合するトランザクションが完了するまで待機します。このオプションを使用する場合、注意すべき点がいくつかあります。 指定できるインデックス名は1つだけで、
CASCADEオプションはサポートされていません。 (したがって、UNIQUEまたはPRIMARY KEY制約をサポートするインデックスは、この方法では削除できません。) また、通常のDROP INDEXコマンドはトランザクションブロック内で実行できますが、DROP INDEX CONCURRENTLYは実行できません。 最後に、パーティションテーブルのインデックスはこのオプションを使用して削除できません。一時テーブルの場合、他のセッションではアクセスできないため、
DROP INDEXは常に非同時であり、非同時インデックスドロップの方が安価です。IF EXISTS: インデックスが存在しない場合は、エラーをスローしないでください。 この場合、通知が発行されます。name: 削除するインデックスの名前 (スキーマ修飾) 。CASCADE: インデックスに依存するオブジェクト、およびそれらのオブジェクトに依存するすべてのオブジェクトを自動的に削除します。RESTRICT: インデックスに依存するオブジェクトがある場合は、削除を拒否します。 この値がデフォルトです。
例
このコマンドは、インデックスtitle_idxを削除します。
DROP INDEX title_idx;