Postgresql “处或附近的语法错误”;Z";尝试创建物化视图时

Postgresql “处或附近的语法错误”;Z";尝试创建物化视图时,postgresql,postgis,Postgresql,Postgis,我有以下疑问: CREATE MATERIALIZED VIEW tk AS SELECT * FROM base WHERE ST_Contains(geo, POLYGON Z ((...some values ...))) 但我得到了一个错误: syntax error at or near "Z" geo字段是geometry字段类型 问题是什么以及如何解决?您的查询缺少单引号: 例如: CREATE TABLE base (geo geometry); INS

我有以下疑问:

CREATE MATERIALIZED VIEW tk AS
SELECT * 
FROM base
WHERE ST_Contains(geo, POLYGON Z ((...some values ...)))
但我得到了一个错误:

syntax error at or near "Z"
geo
字段是
geometry
字段类型


问题是什么以及如何解决?

您的查询缺少单引号:

例如:

CREATE TABLE base (geo geometry);
INSERT INTO base VALUES ('POLYGONZ((1 0 0, 0 5 0, 5 5 0, 5 0 0, 1 0 0))');

CREATE MATERIALIZED VIEW tk AS
SELECT * FROM base
WHERE 
  ST_Contains (geo,'POLYGONZ((2.51 3.33 1,2.07 2.24 1,3.28 2.26 1,2.51 3.33 1))');

SELECT ST_AsText(geo) FROM tk;

                  st_astext                  
---------------------------------------------
 POLYGON Z ((1 0 0,0 5 0,5 5 0,5 0 0,1 0 0))
(1 Zeile)

注意:的文档中没有提及也计算函数中的
Z
维度。因此,我们可以假设它只是被忽略,查询只考虑了
X
Y

PolygonZ
而不是
PolygonZ