我有一个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选项动态更改(,或者使用两步导入过程。