首页 > 解决方案 > 在 PATH 类型的 postgres 中插入值

问题描述

您好,我已经创建了一个列类型为 PATH 的表,如上(遵循 Postgres 文档)

CREATE TABLE public.geometry_polyline_volume
(
    id          serial not null primary key,
    distance    float not null,
    height      float not null,
    coordinates path not null
);

尝试将上述值作为一行插入

INSERT INTO public.geometry_polyline_volume(id, distance, height, coordinates)
VALUES (2,  500, 0, path((15.878137629895164,47.08306448089695), (15.56169808311181,47.219041634920686), (15.267442604782124,47.4201665137259), (15.092631384557304,47.71366328136526), (15.234428926980286,47.95865145177352)));

我正在接受以下错误

消息:错误:列“坐标”属于路径类型,但表达式属于记录类型

标签: postgresqlgissql-insert

解决方案


使用扩展名“PostGIS”,安装后它是一个非常简单的演出:

然后使用这个插入:

INSERT INTO mytable (geom) VALUES (
  ST_GeomFromText('POINT(0 0)', 26910)
);

希望这可以帮助。


推荐阅读