database - pgsql2shp“执行用户查询时出错”
问题描述
尝试pgsql2shp
postgresql 代码时出现初始化错误:
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。' 包裹'
错误错误标记在这里是斜体。
解决方案
您在 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
。
推荐阅读
- arrays - 如何按快速数组分组?
- html - 无法在字符串 Angular 上创建属性
- python - 我的json作为输出字符串而不是python中的int
- postgresql - 比较 postgreSQL 表中的行并保留列中字符串最长的行
- python-3.x - 基于Python中的两个数据框计算总加权分数
- jmeter - 分布式负载测试jmeter
- java - 线程未按顺序存储在集合中
- azure - ARM 模板 - 订阅读者和 Azure 资源参与者角色(然后使用蓝图分配)
- javascript - 反应状态值在本机事件的回调中为空
- javascript - Angular 在运行时创建元素,同时保持样式