| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 토토 베이 : 문서 : 9.3 : 이벤트 트리거 | 위로 | 37장. 토토 트리거 | PostgreSQL : 문서 : 9.3 : 이벤트 사설 토토 사이트 발사 매트릭스 | |
토토 트리거는 이벤트가 발생할 때마다 실행됩니다. 연관은 정의된 데이터베이스에서 발생합니다. 현재 지원되는 유일한 이벤트는 다음과 같습니다.ddl_command_start, ddl_command_end그리고sql_drop. 추가 이벤트에 대한 지원이 추가될 수 있습니다. 향후 릴리스에서는.
그ddl_command_start토토가 방금 발생했습니다. a를 실행하기 전에생성, 변경또는드롭명령. 영향을 받은 개체가 존재하는지 여부를 확인하지 않습니다. 존재는 토토 트리거가 실행되기 전에 수행됩니다. 예외적으로, 그러나 이 이벤트는 다음을 대상으로 하는 DDL 명령에는 발생하지 않습니다. 공유 객체(데이터베이스, 역할, 테이블스페이스) 또는 이벤트를 대상으로 하는 명령은 스스로 트리거됩니다. 토토 트리거 메커니즘은 이러한 개체 유형을 지원하지 않습니다.ddl_command_start또한 다음 직전에 발생합니다. a의 실행선택명령, 이후 이는 다음과 같습니다.다음으로 테이블 생성.
그ddl_command_end토토가 방금 발생했습니다. 동일한 명령 세트를 실행한 후.
그sql_drop토토가 직전에 발생합니다.ddl_command_end모든 토토 트리거 데이터베이스 개체를 삭제하는 작업입니다. 해당 개체를 나열하려면 삭제된 경우에는 set-returning 기능을 사용하세요.pg_event_trigger_dropped_objects()에서sql_drop토토 트리거 코드(참조섹션 9.28). 참고 트리거는 개체가 삭제된 후에 실행됩니다. 시스템 카탈로그이므로 더 이상 조회할 수 없습니다.
토토 트리거(다른 기능과 마찬가지로)는 다음에서 실행될 수 없습니다. 중단된 거래. 따라서 DDL 명령이 오류로 인해 실패하는 경우 관련된 모든 것ddl_command_end트리거 실행되지 않습니다. 반대로 만약 addl_command_start트리거가 오류로 인해 실패합니다. 아니요 추가 토토 트리거가 실행되고 더 이상 토토가 발생하지 않습니다. 명령 자체를 실행하십시오. 마찬가지로, 만일 addl_command_end트리거가 오류로 인해 실패합니다. DDL 문의 효과는 롤백됩니다. 포함된 거래가 있는 다른 경우에는 중단됩니다.
토토 트리거가 지원하는 전체 명령 목록 메커니즘, 참조PostgreSQL : 문서 : 9.3 : 이벤트 사설 토토 사이트 발사 매트릭스.
토토 트리거는 다음 명령을 사용하여 생성됩니다.토토 트리거 생성. 하기 위해서는 토토 트리거를 생성하려면 먼저 다음을 사용하여 함수를 생성해야 합니다. 특수 반환 유형event_trigger. 이 함수는 값을 반환할 필요가 없으며 반환하지 않을 수도 있습니다. 반환 유형 단지 함수가 호출될 것이라는 신호 역할을 할 뿐입니다. 토토 트리거.
특정 토토에 대해 둘 이상의 토토 트리거가 정의된 경우 토토가 발생하면 트리거 이름에 따라 알파벳 순서로 실행됩니다.
트리거 정의는 다음을 지정할 수도 있습니다.언제조건은 예를 들어 addl_command_start트리거는 다음 경우에만 실행될 수 있습니다. 사용자가 가로채기를 원하는 특정 명령. 일반적인 이러한 트리거를 사용하면 DDL 작업 범위가 제한됩니다. 어떤 사용자가 수행할 수 있는지.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 토토 트리거 | 위로 | 토토 트리거 발생 매트릭스 |