序: 我正在使用OSM2PGSQL将我的OpenStreetMap(OSM)数据导入PostgreSQL。这将导入与数据中每个元素关联的所有标记,其中一个是“自然”标记。此标记定义此区域的地形类型。 (IE,natural = water表示此坐标定义了水的面积)。
我正在尝试访问表示为“自然”的列,例如在查询
中SELECT * FROM planet_osm_polygon WHERE natural='water' LIMIT 100;
但是,因为NATURAL也是PostgresSQL子句,查询会返回错误。
有没有办法解决这个问题?我试过用引号包裹自然这个词,但没有用。
答案 0 :(得分:1)
双引号应该有效。这是我用来验证的快速示例
# create table test123( "natural" text );
CREATE TABLE
# insert into test123 values('test');
INSERT 0 1
# insert into test123 values('water');
INSERT 0 1
# select * from test123 where "natural"='water';
natural
---------
water
(1 row)