`ALTER TRIGGER` — 트리거 정의 변경
ALTER TRIGGER — 트리거 정의 변경
기존 트리거의 이름을 바꾸거나 특정 확장(extension)에 의존하도록 표시하고 싶을 때 쓰는 명령이 ALTER TRIGGER예요.
출처: PostgreSQL 문서
본문
ALTER TRIGGER는 기존 트리거의 속성을 변경해요.
Synopsis (개요)
ALTER TRIGGER name ON table_name RENAME TO new_name
ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name
Description (설명)
ALTER TRIGGER는 기존 트리거의 속성을 변경해요.
RENAME 절은 트리거 정의를 다른 점은 건드리지 않고 주어진 트리거의 이름만 변경해요. 트리거가 붙어 있는 테이블이 파티션 테이블이라면, 파티션들의 복제(clone) 트리거도 함께 이름이 바뀌어요.
DEPENDS ON EXTENSION 절은 트리거를 확장에 의존하는 것으로 표시해요. 그래서 그 확장이 삭제되면 트리거도 자동으로 삭제돼요.
트리거가 작동하는 테이블의 소유자여야 그 속성을 변경할 수 있어요.
Parameters (파라미터)
name— 변경할 기존 트리거의 이름.table_name— 이 트리거가 작동하는 테이블의 이름.new_name— 트리거의 새 이름.extension_name— 트리거가 의존하게 될 (또는NO를 지정하면 더 이상 의존하지 않게 될) 확장의 이름. 확장에 의존하는 것으로 표시된 트리거는 그 확장이 삭제될 때 자동으로 삭제돼요.
Notes (주의)
트리거를 일시적으로 활성화하거나 비활성화하는 기능은 ALTER TRIGGER가 아니라 ALTER TABLE이 제공해요. ALTER TRIGGER에는 테이블의 모든 트리거를 한꺼번에 켜거나 끄는 옵션을 표현할 편리한 방법이 없기 때문이에요.
Examples (예시)
기존 트리거의 이름을 바꾸는 예시예요.
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
트리거를 특정 확장에 의존하는 것으로 표시하는 예시예요.
ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib;
Compatibility (호환성)
ALTER TRIGGER는 SQL 표준의 PostgreSQL 확장이에요.
더 알아보기 (Learn more)
- 트리거를 만들고 관리하는 기본은
CREATE TRIGGER와ALTER TABLE에서 확인해요.