Azure PostgreSQL中如何为新用户分配数据库所有者权限?
解决PostgreSQL(Azure)中设置数据库所有者的问题
1. 修正ALTER DATABASE的语法错误
你执行的ALTER DATABASE new_databsae OWNER new_user;存在语法错误,PostgreSQL中修改数据库所有者的正确语法需要添加TO关键字,同时注意数据库名的拼写错误(你写的new_databsae应为new_database):
ALTER DATABASE new_database OWNER TO new_user;
2. 解决创建数据库时的must be able to SET ROLE new_user错误
以azure_pg_admin身份操作时,虽然它是管理员角色,但默认没有切换到普通用户的权限,需先赋予其对new_user的SET ROLE权限:
GRANT new_user TO azure_pg_admin;
执行完成后,重新运行正确的创建数据库命令:
CREATE DATABASE new_database OWNER new_user;
3. 验证设置结果
通过以下命令可以确认数据库所有者是否配置正确:
SELECT datname, rolname FROM pg_database JOIN pg_roles ON pg_database.datdba = pg_roles.oid WHERE datname = 'new_database';
若你之前已创建了拼写错误的new_databsae数据库,可先删除它避免混淆:
DROP DATABASE new_databsae;
内容的提问来源于stack exchange,提问作者frank
相关产品推荐
相关产品推荐

