Iandev Smarter Business - Logo Cor
Navegação no fórum
para criar postagens e tópicos.

Como apagar e re-criar Foreing key no Postgres

Como apagar e re-criar Foreing key no Postgres

Apagar Foreing Key

SELECT 'ALTER TABLE "'||nspname||'"."'||relname||'" DROP CONSTRAINT "'||conname||'"~'
FROM pg_constraint
INNER JOIN pg_class ON conrelid=pg_class.oid
INNER JOIN pg_namespace ON pg_namespace.oid=pg_class.relnamespace
ORDER BY CASE WHEN contype='f' THEN 0 ELSE 1 END,contype,nspname,relname,conname

SELECT 'ALTER TABLE '||nspname||'.'||relname||' ADD CONSTRAINT '||conname||' '||
pg_get_constraintdef(pg_constraint.oid)||chr(59)
FROM pg_constraint
INNER JOIN pg_class ON conrelid=pg_class.oid
INNER JOIN pg_namespace ON pg_namespace.oid=pg_class.relnamespace
Where
not pg_get_constraintdef(pg_constraint.oid) like '%PRIMARY%'
ORDER BY CASE WHEN contype='f' THEN 0 ELSE 1 END DESC,contype DESC,nspname DESC,relname DESC,conname DESC