我们在AWS RDS中有多个PostgreSQL实例。我们需要维护每个数据库的内部部署副本,以符合我们的灾难恢复策略。我成功地使用pg_dump和pg_restore将数据库模式和表导出到我们的内部部署服务器,但是我在导出角色和表空间方面没有成功。我发现这只能通过使用pg_dumpall来实现,但由于这需要超级用户访问权限,并且RDS中不允许这样做,我如何将数据库的这些方面导出到我们的内部部署服务器上?
我的pg_dump命令:
Pg_dump -h {AWS Endpoint} -U {Master Username}-p 5432 -F c -f C:\AWS_Backups\{filename}.dmp {database name}
我的pg_restore命令:
pg_restore -h {AWS Endpoint} -p 5432 -U {Master Username} -d {database name} {filename}.dmp
我找到了多个使用pg_dump导出PostgreSQL数据库的人的例子,但是,他们没有解决" Globals"使用pg_dump忽略的。我误读了文档吗?执行我的pg_restore后,我的登录没有在数据库上创建。
我们非常感谢您将 FULL 数据库(包括全局数据)提供给我们的非现场位置所提供的任何帮助。
答案 0 :(得分:1)
我无法在网上找到问题的答案。为了防止其他人遇到这个问题,我想我会发布一个关于我的“解决方案”的高级概述。我绕着肘部走到膝盖,但这是我提出的选择:
我还没有完成这个过程,但是我花了几天的时间来找到缺少pg_dumpall功能的可行选项。如果有人发现我的逻辑存在任何缺陷,或者有更好的解决方案,我很乐意阅读它。祝你好运!
答案 1 :(得分:0)