Мне нужно удалить уникальное ограничение из таблицы postgresql, но я не дал ему имя в схеме. Кто-нибудь знает, как получить имя такого ограничения или как его удалить?
Как получить имя уникального ограничения в postgresql?
Ответ 1
Это что-то вроде (для одиночного столбца):
tableName_columnName_key
Чтобы получить имя константы write (в psql):
\d tableName
или используйте pg_constraint
системный каталог:
SELECT conname
FROM pg_constraint
WHERE conrelid =
(SELECT oid
FROM pg_class
WHERE relname LIKE 'tableName');
Также вы можете получить его из pgAdmin в дереве объектов.
Ответ 2
SELECT conname
FROM pg_constraint
WHERE conrelid = 'mytable'::regclass::oid