我正在尝试删除psql角色,事先将链接对象重新分配给postgres角色。
但我仍然收到错误消息removal of role "xxx" failed: ERROR: role "xxx" cannot be dropped because some objects depend on it
DETAIL: owner of database xxx_db
以下是我用来删除角色的过程(由脚本执行):
su postgres -c "psql xxx_db -c \"REASSIGN OWNED BY xxx TO postgres\"" 2>&1
- 确定
su postgres -c "dropuser tasip" 2>&1
- 此行在执行时抛出错误。
但是如果在脚本旁边执行此行,我将删除角色tasip
。
在这个过程中我有什么遗漏的吗?
提前感谢您的帮助
干杯
答案 0 :(得分:0)
我最终找到了解决方案。
这不是重新分配的好语法,正确的是:
ALTER DATABASE adatabase OWNER TO postgres
然后可以在重新分配给postgres之前删除拥有'adatabase'的用户。