加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 在AWS-RDS中创建Postgres事件触发器

发布时间:2020-12-13 16:08:12 所属栏目:百科 来源:网络整理
导读:我的RDS Postgres数据库需要一个事件触发器.最终,我需要在架构发生变化时得到通知.在普通的Postgres(即非RDS实例)中,这很好用.但是,在RDS中运行以下内容: 在ddl_command_start上执行CREATE EVIG TRIGGER审计EXECUTE PROCEDURE stat_audit(); 结果是: ERROR
我的RDS Postgres数据库需要一个事件触发器.最终,我需要在架构发生变化时得到通知.在普通的Postgres(即非RDS实例)中,这很好用.但是,在RDS中运行以下内容:

在ddl_command_start上执行CREATE EVIG TRIGGER审计EXECUTE PROCEDURE stat_audit();

结果是:

ERROR:  permission denied to create event trigger
HINT:  Must be superuser to create an event trigger.

据我所知,RDS上最具特权的角色是rds_superuser.我已将rds_superuser授予我的帐户(例如,将rds_superuser授予某个用户;).但我仍然无法创建事件触发器.我知道rds_superuser与pg超级用户的角色不同(可以通过运行:SHOW is_superuser或SELECT * FROM pg_user来确认).
我也理解为什么RDS可能会锁定真正的超级用户权限,但如果我无法访问事件触发器,这似乎是一个非常重要的限制.我错过了什么吗?是否可以在RDS上的Postgres中设置事件触发器?如果没有,是否有任何替代模仿相同的功能?我知道RDS事件通知,但似乎没有任何选项来订阅架构更改事件.

解决方法

我知道这是一个老问题,但现在似乎得到了支持.

PostgreSQL versions 9.4.9 and later and version 9.5.4 and later
support event triggers,and Amazon RDS supports event triggers for
these versions. The master user account can be used to create,modify,
rename,and delete event triggers. Event triggers are at the DB
instance level,so they can apply to all databases on an instance. For
more information about PostgreSQL event triggers on Amazon RDS,see
Event Triggers for PostgreSQL on Amazon RDS.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.EventTriggers

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读