我正在重写一个运行在SCO Unix上的旧应用程序,它连接到Informix SE 7.24数据库。目标操作系统是RHEL6.3,数据库管理系统是PostgreSQL 9.4。
我已经修改了DDL脚本并创建了空数据库,但现在我正在寻找迁移数据的方法。Informix和PostgreSQL使用两个不同的字符集CP437和UTF8。
我尝试用dbexport实用程序导出数据库,将*.unl文件转换为新的字符集,然后用COPY table_name FROM 'table.unl' (DELIMITER '|', ENCODING 'UTF-8', NULL '')
加载。这对大多数表都有效,但当.unl文件的大小增大(超过1GB)时,导入进程将崩溃。我能做什么?
最佳答案
您没有向我们显示COPY
错误消息。
我迁移了一些数据库,最简单的方法之一是使用JDBC,特别是Jython(在JVM上工作的Python)。您可以在我的响应中看到这样的迁移:Blob's migration data from Informix to Postgres当然您必须更改它才能使用您的模式,但是使用JDBC可以很容易地读取表名和其他模式信息。
关于postgresql - 从Informix SE到PostgreSQL的数据迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29512619/