我有一个名为host_db的现有postgres 11数据库,我们有一个名为host_app的现有应用程序,它已经使用这个数据库很长时间了。此服务使用超级用户host_app_user连接到数据库并执行所有事务。因此,所有数据库对象都归该数据库超级用户所有。
现在,我们还希望在数据库中创建db_admin超级用户角色,其凭据将由Vault维护。但为了不混淆数据库所有权,我认为无论何时db_admin登录到数据库,它都会承担host_app_user的角色。这样,登录的管理员所做的任何更改都将以host_app_user身份完成。
我的问题是:有没有一种方法可以在登录时自动设置postgres中登录用户的角色?
发布于 2020-02-22 07:57:30
我认为答案是否定的。但是你可以这样做:
grant db_admin to host_app_user;然后,host_app_user将拥有db_admin拥有的所有权限。
发布于 2020-10-09 08:24:59
使用:
alter role db_admin set role host_app_user;db_admin的角色将在登录时设置为host_app_user。
但请注意,db_admin必须是host_app_user的成员。
https://stackoverflow.com/questions/60347523
复制相似问题