我需要更改PostgreSql数据库的所有者。
如何在phppgadmin中更改PostgreSql数据库的所有者?
答案 0 :(得分:287)
ALTER DATABASE name OWNER TO new_owner;
有关详细信息,请参阅the Postgresql manual's entry on this。
答案 1 :(得分:25)
Frank Heikens的回答只会更新数据库所有权。通常,您还希望更新包含对象(包括表)的所有权。从Postgres 8.2开始,REASSIGN OWNED可用于简化此任务。
首先,连接到admin数据库并更新数据库所有权:
psql
postgres=# REASSIGN OWNED BY old_name TO new_name;
这是Frank答案中提供的ALTER DATABASE
命令的全局等效命令,但它不会更新特定数据库,而是更改“old_name'”所拥有的所有数据库的所有权。 / p>
下一步是更新每个数据库的表所有权:
psql old_name_db
old_name_db=# REASSIGN OWNED BY old_name TO new_name;
必须在&old;' old_name'所拥有的每个数据库上执行此操作。该命令将更新数据库中所有表的所有权。