数据从SQL Server迁移到Postgres

时间:2019-04-26 17:33:58

标签: sql-server postgresql database-migration sqlline

使用SQLLINES我正在尝试从SQL Server迁移到Postgres。 http://www.sqlines.com/home

我的问题是,一旦迁移了数据(在SQL Server中为类型nvarchar),在Postgres中将其转换为textvarchar,并且数据本身受到了影响。

示例源数据:ordertask

目标数据

:o\000r\000d\000e\000r\000t\000a\000s\000k\000

\000将自动添加到每个字符之后的所有varchar数据中。

有帮助吗?

1 个答案:

答案 0 :(得分:1)

您看到的带有\000的字符串只是您想要的字符串,但是它以UTF-16LE(Windows的默认字符编码)进行编码,而PostgreSQL不支持。

您可以将utf-16le编码的字符串作为字节数组存储在PostgreSQL中,但是您可能会丢失所有可能需要的文本操作功能。

在将字符串传递到postgreSQL之前(在Linux命令行上,我将使用iconv或{{1},应使用多种工具之一将其从UTF-16LE转换为UTF-8(PostgreSQL首选编码)。 }}; 你的旅费可能会改变)。另一个选择是使用为您执行转换的客户端(可能是所有基于Windows的客户端都进行转换)。