适用于 RDS for PostgreSQL 的事件触发条件 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

适用于 RDS for PostgreSQL 的事件触发条件

PostgreSQL 的所有当前版本都支持事件触发条件,RDS for PostgreSQL 的所有可用版本也支持事件触发条件。可以使用主用户账户(默认:postgres)创建、修改、重命名和删除事件触发条件。事件触发器位于数据库实例级别,因此,它们可应用于实例上的所有数据库。

例如,以下代码创建在每个数据定义语言 (DDL) 命令结束时打印当前用户的事件触发器。

CREATE OR REPLACE FUNCTION raise_notice_func() RETURNS event_trigger LANGUAGE plpgsql AS $$ BEGIN RAISE NOTICE 'In trigger function: %', current_user; END; $$; CREATE EVENT TRIGGER event_trigger_1 ON ddl_command_end EXECUTE PROCEDURE raise_notice_func();

有关 PostgreSQL 事件触发器的更多信息,请参阅 PostgreSQL 文档中的事件触发器

在 Amazon RDS 上使用 PostgreSQL 事件触发器存在多个限制。这些功能包括:

  • 您不能在只读副本上创建事件触发器。不过,您可以在只读副本源上创建事件触发器。然后,事件触发器复制到只读副本。从源推送更改时,不会触发只读副本上的事件触发器。不过,如果提升只读副本,则当数据库发生操作时将触发现有事件触发器。

  • 要将主要版本升级到使用事件触发器的 PostgreSQL 数据库实例,请确保在升级该实例之前删除事件触发器。