将MySQL POINT数据类型转换为PostgreSQL

时间:2017-01-16 23:32:56

标签: mysql postgresql

我正在使用从MySQL到PostgreSQL的几何数据迁移数据库。我遇到了麻烦,因为POINT数据类型在两个数据库之间不兼容。

在MySQL中,POINT值是单个十六进制字符串,如0xE21D4B40。但是,我无法将这些插入到PostgreSQL中,因为PostgreSQL's POINT datatype需要(x,y)形式的坐标。处理此转换的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

@ tadman的评论最终成为我的解决方案:将十六进制字符串解压缩到MySQL端的一对值。在我的例子中,十六进制字符串是location表中名为city的列,因此我使用了查询SELECT ST_AsText(location) FROM city;

返回的行如POINT(-133.03531 54.23346),PostgreSQL乐于接受。