我需要从postgresql表中删除一个唯一约束,但我没有在架构中给它起一个名字。有人知道,如何获得这种约束的名称,或者如何删除它?
答案 0 :(得分:39)
这就像(对于单列constaint):
tableName_columnName_key
要获取constaint name write(在psql中):
\d tableName
或使用pg_constraint
系统目录:
SELECT conname
FROM pg_constraint
WHERE conrelid =
(SELECT oid
FROM pg_class
WHERE relname LIKE 'tableName');
您也可以从对象树中的pgAdmin获取它。
答案 1 :(得分:11)
SELECT conname
FROM pg_constraint
WHERE conrelid = 'mytable'::regclass::oid