지원되는 버전 :현재 (17)16 / 15 / 14 / 13
개발 버전 :Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

40.4. 완전한 이벤트 롤 토토 예

C에 작성된 이벤트 트리거 기능의 매우 간단한 예는 다음과 같습니다 (절차 언어로 작성된 트리거의 예는 절차 언어 문서에서 찾을 수 있습니다.)

함수noddl호출 할 때마다 예외가 제기됩니다. 이벤트 트리거 정의는 함수를와 연관시켰다.DDL_COMMAND_START이벤트. 효과는 모든 DDL 명령 (에 언급 된 예외와 함께입니다.PostgreSQL : 문서 : 11 : 40.1. 이벤트 스포츠 토토 동작 개요) 실행이 방지됩니다.

이것은 트리거 함수의 소스 코드입니다 :

#include "postgres.h"

소스 코드를 컴파일 한 후 (참조섹션 38.10.5), 함수와 트리거를 선언합니다 :

함수 create noddl () repits event_trigger를 반환합니다

이제 롤 토토 작업을 테스트 할 수 있습니다 :

=# \ dy

이 상황에서 DDL 명령을 실행하려면 이벤트 롤 토토를 떨어 뜨리거나 비활성화해야합니다. 트랜잭션 기간 동안 만 방아쇠를 비활성화하는 것이 편리 할 수 ​​있습니다.

시작;

(이벤트 트리거 자체에 대한 DDL 명령이 이벤트 트리거의 영향을받지 않음을 기억하십시오.)