Я попытался изменить все внешние ключи в PostgreSQL сразу, чтобы каскадировать при удалении:
UPDATE pg_catalog.pg_constraint
SET confupdtype='c', confdeltype='c', confmatchtype='u'
WHERE connamespace=2200;
Нет ошибок, и когда я проверяю таблицы с помощью pgadmin, он выглядит правильно, но когда я пытаюсь удалить строку таблицы, на которую ссылаются, это приводит к ошибке ограничения. Просто оператор SQL работает:
ALTER TABLE tblname
DROP CONSTRAINT IF EXISTS fk3e2e4a8ff123848a;
ALTER TABLE tblname
ADD CONSTRAINT fk3e2e4a8ff123848a FOREIGN KEY (field)
REFERENCES othertable (id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE;
Есть идеи, почему изменение pg_catalog.pg_constraint
не работает? даже перезапуск службы после не помог.