Restrição de queda do PostgreSQL com nome desconhecido

Eu tenho um script SQL que precisa eliminar várias restrições e restaurá-las no final, mas os nomes das restrições são gerados automaticamente e serão diferentes sempre que o script for executado.

Eu sei como obter o nome da restrição a partir dos nomes das tabelas, mas não parece possível usar essas informações na instrução drop.

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) é um erro de sintaxe.

Idealmente, eu gostaria de obter o nome da restrição e armazená-lo em uma variável, mas não parece que o Postgres suporta isso e não posso fazê-lo funcionar com o psql\set.

Isso é possível?

questionAnswers(1)

yourAnswerToTheQuestion