数据库包含postgres拥有的用户对象。 要求数据库中的所有用户对象均应具有db_owner角色。
我试图将他们重新分配给db_owner角色
REASSIGN OWNED BY postgres TO db_owner
但出现错误
ERROR: cannot reassign ownership of objects owned by role postgres because they are required by the database system
如何将所有用户对象分配给db_owner角色?
使用
“ x86_64-pc-linux-gnu上的PostgreSQL 10.1,由gcc(Debian 6.3.0-18)6.3.0 20170516,64位编译”
数据库已从9.3版还原
答案 0 :(得分:0)
这是不可能的,因为系统对象必须由 bootstrap超级用户(在您的情况下为postgres
)拥有。
您不应弄乱系统对象。
如果您有postgres
拥有的非系统对象,请识别它们并逐一更改所有权。
如果只是打扰您的名字,您可以将postgres
重命名为db_owner
,但我认为这不是您想要的。