J'ai besoin de supprimer une contrainte unique d'une table postgresql, mais je ne lui ai pas donné de nom dans le schéma. Est-ce que quelqu'un sait, comment obtenir le nom d'une telle contrainte, ou comment la supprimer?
C'est quelque chose comme (pour une seule colonne constaint):
tableName_columnName_key
Pour obtenir le nom de la contrainte, écrivez (en psql):
\d tableName
ou utiliser pg_constraint
catalogue système:
SELECT conname
FROM pg_constraint
WHERE conrelid =
(SELECT oid
FROM pg_class
WHERE relname LIKE 'tableName');
Vous pouvez également l'obtenir à partir de pgAdmin dans l'arborescence des objets.
SELECT conname
FROM pg_constraint
WHERE conrelid = 'mytable'::regclass::oid