如何在postgresql中获取唯一约束的名称?

时间:2011-07-27 11:38:54

标签: sql postgresql constraints unique-constraint

我需要从postgresql表中删除一个唯一约束,但我没有在架构中给它起一个名字。有人知道,如何获得这种约束的名称,或者如何删除它?

2 个答案:

答案 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