Ограничение удаления PostgreSQL с неизвестным именем

У меня есть сценарий SQL, который должен удалить несколько ограничений и восстановить их в конце, но имена ограничений генерируются автоматически и будут отличаться при каждом запуске сценария.

Я знаю, как получить имя ограничения из имен таблиц, но это не такКажется возможным использовать эту информацию в операторе удаления.

select conname from pg_constraint where
   conrelid = (select oid from pg_class where relname='table name')
   and confrelid = (select oid from pg_class where relname='reference table');

alter table something drop constraint (some subquery) это синтаксическая ошибка

В идеале я хотел бы получить имя ограничения и сохранить его в переменной, но это не так.Кажется, что Postgres поддерживает это, и я не могузаставить его работать с psql.\set

Это вообще возможно?

Ответы на вопрос(1)

Ваш ответ на вопрос