Как получить имя уникального ограничения в postgresql? - PullRequest
27 голосов
/ 27 июля 2011

Мне нужно удалить уникальное ограничение из таблицы postgresql, но я не дал ему имя в схеме.Кто-нибудь знает, как получить название такого ограничения или как его отбросить?

Ответы [ 2 ]

40 голосов
/ 27 июля 2011

Это что-то вроде (для одного столбца):

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 в дереве объектов.

11 голосов
/ 30 мая 2016
SELECT conname
FROM pg_constraint
WHERE conrelid = 'mytable'::regclass::oid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...