如何在postgres中自动设置或更改登录时的角色



我有一个名为host_db的现有postgres 11数据库,我们有一个称为host_app的现有应用程序,它已经使用该数据库很长时间了。此服务使用超级用户host_app_user连接到数据库并执行所有事务。因此,所有的数据库对象都属于这个数据库超级用户。

现在,我们也想在数据库中创建db_admin超级用户角色,其凭据将由Vault维护。但为了避免混淆数据库所有权,我认为每当db_admin登录到数据库时,它都会扮演host_app_user的角色。这样,记录的管理员所做的任何更改都将作为host_app_user完成。

我的问题是:有没有一种方法可以在登录时自动在postgres中设置登录用户的角色?

使用:

alter role db_admin set role host_app_user;

登录时,db_admin的角色将设置为host_app_user

请注意,db_admin必须是host_app_user的成员。

我认为答案是否定的。但你可以这样做:

grant db_admin to host_app_user;

host_app_user将具有db_admin所具有的所有权限。

相关内容

  • 没有找到相关文章

最新更新