2017-12-01 16 views
0

ポストグレステーブルから制約を削除する場合、制約を削除する最も安全な順序を知る方法。同様に、
1)外部キー制約は最初に削除することができます[プライマリキー制約の前にドロップする必要があります]Postgresドロップ制約の順

次に、制約を削除する順序は任意です。ユニーク制約、ヌルではない、デフォルト、主キー制約などのようになります。私が訂正します

+1

**単一**テーブルの制約を削除すると、実際には関係はありません。そして、もしあなたが 'CASCADE'を使っていれば、複数のテーブルから制約を取り除くときにも順序は関係ありません。 –

+0

カスケードが使われていない場合、上記の順序を無効にするケースを知ります。 – Priya

+0

実際にケースを知って興奮しています。 @a_horse_with_no_name – Priya

答えて

1

PostgreSQLのテーブルの制約は、同じテーブルの別の制約に依存しないため、ここでの順序は関係ありません。

制約間の唯一の依存関係は、ターゲット表の主キーまたは一意キーに対する外部キーの依存性です。

最初にすべての外部キー制約を削除してから他のすべての制約を削除するか、ALTER TABLE ... DROP CONSTRAINT ... CASCADEを使用すると、自動的にすべての依存制約が削除されます。

+0

これは本当に助けになりました。ありがとう:) – Priya