我搜索了一段时间才能找到这个答案,但没有运气。
情况:
我的生产环境中目前正在运行 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 扩展