【发布时间】:2014-10-22 09:27:44
【问题描述】:
我遇到了 PostgreSQL 转储/恢复问题。我们有一个使用 PostgresSQL 8.4 运行的生产应用程序。我需要在测试环境的数据库中创建一些值,然后将这块数据导入生产环境。数据由应用程序生成,我需要使用这种方法,因为它需要在投入生产之前进行测试。
现在我已经描述了环境,这是我的问题:
在测试数据库中,我只留下需要移动到生产数据库的数据。数据分布在多个表中,这些表与具有多个级别的外键链接(如树)。然后我使用 pg_dump 将所需的表导出为二进制格式。
当我尝试导入时,数据库将正确导入具有新主键值的根表条目,但不会从其他表中导入任何数据。我认为问题在于子表上的外键不再识别新的主键。
有没有办法实现这样的导入,它将更新树中所有受影响表的所有主键值以自动更正序列(自动递增)值,并根据这些新的主键值更新所有外键?
我已经知道如何在连接到两个数据库的同时借助编程语言来实现这一点,但这对我来说很难实现,因为我无法直接访问客户的生产服务器。
提前致谢!
【问题讨论】:
标签: postgresql