我为我的组织管理一个 PostgreSQL 数据库,该数据库设置在 Azure Database for PostgreSQL - 灵活服务器上。
我的问题是其他用户需要能够在数据库中创建对象,但是当他们这样做时,他们会自动成为该对象的所有者,并且我无法删除这些对象,除非我设置了默认权限我的用户的每个架构,我也无法使用它们。
我一直在寻找使用触发器在创建对象所有者时重新分配对象所有者的方法 - https://blog.hagander.net/setting-owner-at-create-table-237/ - 但是我现在意识到我需要 SUPERUSER 重新分配对象所有权而不是所有者。
有没有办法在 Azure Database for PostgreSQL - 灵活服务器上将触发器设置为超级用户?
我尝试了以下操作 - https://blog.hagander.net/setting-owner-at-create-table-237/ - 但是重新分配拥有的命令不起作用,因为我没有使用超级用户。
有没有办法在 Azure Database for PostgreSQL - 灵活服务器上将触发器设置为超级用户?
根据此 Microsoft 文档
在 Azure Database for PostgreSQL 中,创建超级用户的能力仅限于托管服务提供商 Microsoft。由于服务的托管性质,其他用户或实体无权创建超级用户。
服务器管理员用户包含在
azure_pg_admin
角色中,该角色授予创建自定义角色、自定义权限以及将用户添加到 azure_pg_admin
组等权限。但是,服务器管理员帐户不具有 azure_superuser
角色的成员资格。 azure_pg_admin
组的成员身份决定了这些特权的范围;该组之外的用户不拥有这些权限。