Postgresqlテーブルから一意制約を削除する必要がありますが、スキーマで名前を付けていません。そのような制約の名前を取得する方法、またはそれを削除する方法を誰かが知っていますか?
それは次のようなものです(単一列制約の場合):
tableName_columnName_key
定数名を取得するには(psqlで)書き込みます:
\d tableName
または pg_constraint
システムカタログ:
SELECT conname
FROM pg_constraint
WHERE conrelid =
(SELECT oid
FROM pg_class
WHERE relname LIKE 'tableName');
また、オブジェクトツリーのpgAdminから取得することもできます。
SELECT conname
FROM pg_constraint
WHERE conrelid = 'mytable'::regclass::oid