代码之家  ›  专栏  ›  技术社区  ›  PKKid

将表数据从一个数据库复制到另一个数据库

  •  2
  • PKKid  · 技术社区  · 16 年前

    对于开发,我发现自己经常需要将表信息从一个表复制到另一个表。我只是好奇什么是最简单的解决办法,这样做的Postgres。我有pgadminiii,但它看起来只支持长期的备份/恢复。

    是否有一个python或bash脚本,或者一些我可以给它提供基本信息的东西?

    • 这里是dB1
    • 这里是DB2
    • 复制表…
    • 去吧!

    我相信sqlyog在win32中为mysql做了这个,但是我现在在osx上使用postgres。

    2 回复  |  直到 16 年前
        1
  •  3
  •   Magnus Hagander    16 年前

    如果您只是在两个PostgreSQL数据库之间移动,那么一个好的方法就是在管道(或者pg-dump和psql)中使用pg-dump和pg-restore。基本上

    pg_dump -Fc db1 | pg_restore -d db2 -c
    

    (根据环境需要调整开关,请参见手册页)

    这是您已经安装的工具,如果您只想传输数据而不修改它,那么它将比一个全面的ETL(像水壶)快得多。

        2
  •  6
  •   Roland Bouman    16 年前

    Kettle,又称Pentaho数据集成,可以为您实现这一点。 http://sourceforge.net/projects/pentaho/files/Data%20Integration/

    1. 下载水壶并解压。
    2. 确保你有一个Java运行时环境(1.5和1.6都适用于3.2稳定版本)。
    3. 运行勺子
    4. 创建新作业(文件/新建/作业)
    5. 定义源和目标连接(单击树上的“查看”按钮,DBL单击“数据库连接”节点以打开连接向导或“执行”菜单/向导/创建数据库连接向导)
    6. 执行菜单/向导/复制表向导
    7. 按照向导步骤操作
    8. 运行作业(工具栏上的“播放”按钮)