我在尝试pgsql2shp
postgresql代码时遇到初始化错误:
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
。