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

Pup*_*nij 29 sql postgresql constraints unique-constraint

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

Grz*_*ski 42

这就像(对于单列constaint):

tableName_columnName_key
Run Code Online (Sandbox Code Playgroud)

要获得constaint name write(在psql中):

\d tableName
Run Code Online (Sandbox Code Playgroud)

或使用pg_constraint系统目录:

SELECT conname
FROM pg_constraint
WHERE conrelid =
    (SELECT oid 
    FROM pg_class
    WHERE relname LIKE 'tableName');
Run Code Online (Sandbox Code Playgroud)

您也可以从对象树中的pgAdmin获取它.


小智 11

SELECT conname
FROM pg_constraint
WHERE conrelid = 'mytable'::regclass::oid
Run Code Online (Sandbox Code Playgroud)