Ograniczenie PostgreSQL o nieznanej nazwie
Mam skrypt SQL, który musi upuścić kilka ograniczeń i przywrócić je na końcu, ale nazwy ograniczeń są generowane automatycznie i będą się różnić przy każdym uruchomieniu skryptu.
Wiem, jak uzyskać nazwę ograniczenia z nazw tabel, ale nie wydaje się możliwe użycie tej informacji w instrukcji 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)
to błąd składniowy.
Idealnie chciałbym uzyskać nazwę ograniczenia i zapisać ją w zmiennej, ale nie wydaje się, aby Postgres ją obsługiwał i nie mogę jej zmusić do pracy z psql\set
.
Czy to możliwe?