如何将带有lat/lng列的CSV导入到带有Point列的PostgreSQL表中



我有一个PostgreSQL表,它使用POINT数据类型存储地理坐标:

CREATE TABLE locations (
id BIGINT PRIMARY KEY,
name TEXT NOT NULL,
coord POINT NOT NULL
);

我还有一个CSV文件形式的数据,如下

id,name,lat,lng
1,A,23.433,132.119
2,B,24.091,132.801
...

如何使用copy导入CSV文件,以便将lat/lng列直接转换为表的POINT列?这可能吗?

我只遇到过这样的解决方案:将CSV文件加载到具有lat/lng列的临时表中,然后使用从中派生的POINT列创建一个新表。我想跳过这个步骤

这是不可能的。您需要更改文件的格式(可能使用PROGRAM选项动态更改(,或者使用两步导入过程。

最新更新