首页 > 解决方案 > Microsoft Azure PostgreSQL 事件触发器与超级用户

问题描述

我正在使用安装了 PostgreSQL 10的 Microsoft Azure Database for PostgreSQL。当我尝试与其他用户一起处理未来的表时,我希望其他用户也能够更改我的表。

我创建了一个角色 pgpublish,所有用户都是该角色的成员。对于我创建的新表,我将表所有者更改为角色pgpublish。现在每个具有pgpublish角色的人都可以更改表:

ALTER TABLE "MYcoolSchema"."CoolNewTable" OWNER TO pgpublish;

为了使这更加自动化/通用,我创建了一个触发器函数并尝试创建一个事件触发器,如此处所述

不幸的是,我无法创建事件触发器(触发器功能工作正常),如前所述:

ERROR: permission denied to create event trigger
"trg_create_set_owner" HINT: Must be superuser to create an event trigger. 
SQL state: 42501

是否有在 Microsoft Azure Database for PostgreSQL 上创建事件触发器的解决方法?这怎么可能?

我可以在另一个系统上运行 cron 作业来扫描新表并将这些新表的所有者更改为 pgpublish,但这一点都不酷。

标签: postgresqlazureeventstriggers

解决方案


推荐阅读