Postgres / Postgis - 转储并恢复到不同用户的新服务器

时间:2013-07-20 01:03:37

标签: postgresql postgis

我找了一会儿找到这个答案,但没有运气。

情况:

我的Postgresql目前正在我的生产环境中运行。我准备扩展我的数据库并将其移动到一个大型服务器实例。我错误地设置了具有所有权限的postgres用户的初始数据库,我希望新数据库由我创建的自定义用户控制。即当前数据库的所有者是postgres,我希望新数据库所有者为pooper

要转储,我正在运行:

pg_dump -d database_name > database_name.sql

要在单独的计算机上恢复,我正在运行:

psql database_name < database_name.sql

如果用户是相同的,即两个postgres,那么它将正常工作,但在切换用户时,我的应用程序无法正确加载。疯狂是否有秘密?我没什么好看的。

我的系统:

  • Debian Wheezy
  • Postgresql 9.1
  • Postgis Extension

1 个答案:

答案 0 :(得分:11)

  • 带有--no-owner标志的pg_dump(请参阅pg_dump --help
  • 使用新所有者CREATE DATABASE foo OWNER pooper;
  • 创建新数据库
  • 通过psql -U pooper -d database_name -f database_name.sql加载。
相关问题