当前位置:   article > 正文

Postgresql事件触发器_postgres 没有事件

postgres 没有事件

目前的事件触发器有四个:
ddl_command_start, ddl_command_end, table_rewrite 和sql_drop
可以捕捉相应事件信息的有ddl_command_end, table_rewrite 和sql_drop。

ddl_command_end事件:
可以使用pg_event_trigger_ddl_commands()函数返回ddl_command_end事件的信息,该事件捕捉CREATE, ALTER, DROP, SECURITY LABEL, COMMENT, GRANT 或者REVOKE操作之后的信息。

pg_event_trigger_ddl_commands()函数获取的信息如下:
在这里插入图片描述
sql_drop事件:
sql_drop事件发生在ddl_command_end事件触发删除数据库对象的操作之前,要列出删除的对象,则使用该事件触发器。
pg_event_trigger_dropped_objects()函数可以捕捉相关信息

在这里插入图片描述

table_rewrite事件:
该事件发生在一个表重写之前,如执行ALTER TABLE 和ALTER TYPE某些操作命令。而CLUSTER和vacuum,则不会触发该事件。

通过以下函数进行捕捉:
在这里插入图片描述

时间触发器支持的命令列表:
https://www.postgresql.org/docs/12/event-trigger-matrix.html

具体实例:
https://github.com/digoal/blog/blob/master/201709/20170925_02.md
https://github.com/digoal/blog/blob/master/201412/20141211_01.md

参考:
https://www.postgresql.org/docs/12/functions-event-triggers.html
https://www.postgresql.org/docs/12/event-trigger-definition.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/773731?site
推荐阅读
相关标签
  

闽ICP备14008679号