我在尝试pgsql2shppostgresql代码时遇到初始化错误:

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

错误:正在初始化。。。执行用户查询时出错:错误:语法
“包裹”行1处或附近出错:…\u pgsql2shp1748_tmp_table“AS
从public'Parcel'中选择*
错误错误标记在这里是斜体的。

最佳答案

您在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

07-28 01:10
查看更多