40.1. 이벤트 범퍼카 토토 동작 개요

이벤트는 관련 이벤트가 정의 된 데이터베이스에서 발생할 때마다 발생합니다. 현재 유일하게 지원되는 이벤트는입니다.DDL_COMMAND_START, ddl_command_end, table_rewriteandSQL_DROP. 향후 릴리스에 추가 이벤트 지원이 추가 될 수 있습니다.

theDDL_COMMAND_START이벤트는 a 직전에 발생합니다.생성, Alter, 드롭, 보안 레이블, 댓글, grant또는Revoke명령. 이벤트 트리거가 발생하기 전에 영향을받는 객체가 존재하는지 또는 존재하지 않는지 확인하지 않습니다.DDL_COMMAND_STARTa 직전에 발생합니다선택명령, 이것은에 해당하므로테이블 작성.

theddl_command_end이벤트는이 동일한 명령 세트를 실행 직후에 발생합니다. 에 대한 자세한 내용을 얻으려면DDL발생한 작업, 설정 기능 사용pg_event_trigger_ddl_commands ()에서ddl_command_end이벤트 범퍼카 토토 코드 (참조섹션 9.29). 조치가 이루어진 후 범퍼카 토토가 발생하지만 (거래가 중단되기 전에) 시스템 카탈로그는 이미 변경된대로 읽을 수 있습니다..

theSQL_DROP이벤트는 직전에 발생합니다.ddl_command_end데이터베이스 개체를 삭제하는 모든 작업의 ​​이벤트 범퍼카 토토. 삭제 된 객체를 나열하려면 설정 함수를 사용하십시오pg_event_trigger_dropped_objects ()에서SQL_DROP이벤트 범퍼카 토토 코드 (참조PostgreSQL : 문서 : 15 : 9.29. 토토 트리거 기능). 객체가 시스템 카탈로그에서 삭제 된 후 트리거가 실행되므로 더 이상 볼 수 없습니다.

thetable_rewrite이벤트는 명령의 일부 작업에 의해 테이블이 다시 작성되기 직전에 발생합니다Alter TableandAlter Type. 다른 제어 진술은와 같은 테이블을 다시 작성할 수 있습니다.클러스터and진공, Thetable_rewrite이벤트는 그들에 의해 범퍼카 토토되지 않습니다. 다시 작성된 테이블의 Oid를 찾으려면 함수를 사용하십시오pg_event_trigger_table_rewrite_oid ()(참조PostgreSQL : 문서 : 15 : 9.29. 토토 트리거 기능). 다시 쓰기의 이유를 발견하려면 함수를 사용하십시오pg_event_trigger_table_rewrite_reason ().

이벤트 트리거 (다른 기능과 마찬가지로)는 중단 된 거래에서 실행할 수 없습니다. 따라서 DDL 명령에 오류가 발생하지 않으면 관련ddl_command_end범퍼카 토토가 실행되지 않습니다. 반대로, ADDL_COMMAND_START범퍼카 토토 범퍼카 토토가 오류로 실패하고 더 이상 이벤트 범퍼카 토토가 발사되지 않으며 명령 자체를 실행하려는 시도는 없습니다. 마찬가지로 Addl_command_end트리거 트리거가 오류가 발생하지 않으면 DDL 문의 효과가 포함되는 트랜잭션이 중단되는 다른 경우와 마찬가지로 DDL 문의 효과가 롤백됩니다..

이벤트 트리거 메커니즘에서 지원하는 명령의 전체 목록은 참조토토 핫 : 문서 : 15 : 40.2. 이벤트 트리거 발사 매트릭스.

이벤트 트리거는 명령을 사용하여 생성됩니다이벤트 범퍼카 토토 만들기. 이벤트 범퍼카 토토를 만들려면 먼저 특수 반환 유형으로 함수를 만들어야합니다event_trigger. 이 함수는 값을 반환 할 필요가 없으며 그렇지 않을 수 있습니다.

특정 이벤트에 대해 둘 이상의 이벤트 범퍼카 토토가 정의되면 범퍼카 토토 이름으로 알파벳 순서로 발사됩니다..

범퍼카 토토 정의는 a를 지정할 수도 있습니다언제예를 들어 A를 조건DDL_COMMAND_START트리거는 사용자가 인터셉트하려는 특정 명령에 대해서만 해고 될 수 있습니다. 이러한 트리거의 일반적인 사용은 사용자가 수행 할 수있는 DDL 작업 범위를 제한하는 것입니다.

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면