首页 > 解决方案 > pgsql2shp“执行用户查询时出错”

问题描述

尝试pgsql2shppostgresql 代码时出现初始化错误:

pgsql2shp -f output.shp -h localhost -u postgres -P admin parcel "SELECT * FROM 'public'.'Parcel' WHERE ParcelNoEng=116"

错误:正在初始化...执行用户查询时出错:错误:“'Parcel'”第 1 行或附近的语法错误:...__pgsql2shp11748_tmp_table" AS SELECT * FROM public。' 包裹'

错误错误标记在这里是斜体。

标签: databasepostgresqlpostgispostgresql-9.5

解决方案


您在 SQL 语句中使用了非法字符。更具体地说,在表名'public'.'Parcel'中,它应该在哪里(使用双引号"):

SELECT * FROM "public"."Parcel" WHERE ParcelNoEng=116

或者

SELECT * FROM public.Parcel WHERE ParcelNoEng=116

甚至(因为我们正在谈论public架构):

SELECT * FROM Parcel WHERE ParcelNoEng=116

检查 SQL 词法语法here


推荐阅读