如何更改PostgreSql数据库的所有者?

时间:2010-11-30 11:43:07

标签: postgresql

我需要更改PostgreSql数据库的所有者。

如何在phppgadmin中更改PostgreSql数据库的所有者?

2 个答案:

答案 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'所拥有的每个数据库上执行此操作。该命令将更新数据库中所有表的所有权。