PostgreSQL Trigger 및 Foreign Key Disable
일반적인 Trigger의 경우는 pg_trigger에서 상태를 확인하고 Disable할 수 있다.
Foreign Key의 경우는 ORACLE처럼 바로 Disable할 수 없으므로 해당 테이블의 내부 Trigger 확인하여 Disable 한다.
--특정 테이블의 Trigger Disable
select tgname,
tgenabled
from pg_trigger
where tgrelid in (select oid
from pg_class
where relname = 'zz_test002');
--위에 조회된 결과를 기준으로 아래와 같이 해당 Trigger Disable
alter table ZZ_TEST002 disable trigger "RI_ConstraintTrigger_158846";
alter table ZZ_TEST002 disable trigger "RI_ConstraintTrigger_158847";
--FOREIGN KEY 생성이후 Disable이 필요한 경우도 위와 같은 방법으로 한다.
by. 박용훈