celenius:~ celenius$ ogr2ogr -f PostgreSQL PG:"host=255.34.00.00 user=postgres dbname=mydb password=***" Dropbox/data/roads.shp;
我收到以下错误消息:
Unable to find driver `PostgreSQL'.
The following drivers are available:
-> `ESRI Shapefile'
-> `MapInfo File'
-> `UK .NTF'
...
-> `SVG'
-> `CouchDB'
-> `Idrisi'
-> `ARCGEN'
-> `SEGUKOOA'
-> `SEGY'
(我省略了一些驱动程序,因为它们不相关)。有没有一种方法可以更新ogr2ogr以包括PostgreSQL?我正在使用OS 10.7.4的Mac。
#1 楼
使用Homebrew,您应该:brew install gdal --with-postgresql
或旧版本的gdal:
brew install gdal --with-postgres
如果您之前已经安装了带有brew的gdal,但没有postgresql支持,则只需
brew卸载gdal
#2 楼
减轻您的痛苦,并为OSX使用Kyngchaos打包的二进制文件/框架。GDAL-Complete是您所需要的。另一种选择是使用HomeBrew。
评论
AFAIK,这就是我用的。我没有其他安装方式。
– djq
2012年9月12日在21:48
该文件是否存在:/Library/Frameworks/GDAL.framework/Versions/Current/Libraries/libpq.dylib,并且“哪个ogrinfo”命令从终端返回什么?
–拉吉·亚瑟(Ragi Yaser Burhum)
2012年9月12日23:05
哪个ogrinfo返回/ usr / local / bin / ogrinfo。在安装QGis之前,我从KyngChaos安装了GDAL和其他工具。
– djq
2012年9月12日23:24
我提到的libpq文件在该位置是否存在?
–拉吉·亚瑟(Ragi Yaser Burhum)
2012年9月12日23:37
如果libpq.dylib不存在(PostgreSQL客户端库),则OGR库将不会加载。
–拉吉·亚瑟(Ragi Yaser Burhum)
2012年9月14日22:14在
#3 楼
假设您已从源代码编译gdal,则在配置gdal时只需包含--with-pg = / path / to / pg_config。./configure -with-pg=/path/to/pg_config ...
./make clean
./make
./make install
编辑:请注意,
pg_config
应该与其他PostgreSQL二进制文件(例如psql
等)位于同一目录中。还要注意,来自user259060的以下详细信息如下:您应该验证是否安装了适当的postgresql-server-dev版本(例如,在Ubuntu上,请使用apt list --installed | grep postgresql-server-dev
(如果找不到),请使用apt-cache search postgresql-server-dev
,并使用sudo apt-get install postgresql-server-dev
安装相应的软件包)。评论
似乎我在./configure输出中得到“ PostgreSQL支持:是”,但是尝试对ogr2ogr -f PostgreSQL给出错误1:无法找到驱动程序'PostgreSQL'。另外,ogrinfo --formats中没有PostgreSQL
– adamczi
18-11-14在0:53
安装后是否运行ldconfig?
– dmci
18年11月14日在8:44
请参阅有关安装postgresql-server-dev的答案的编辑,该编辑应处理该错误。
– Thayer
19年11月27日在15:44
我认为with-pg前面有两个连字符?就像../configure --with-pg = / Applications / Postgres.app / Contents / Versions / latest / bin / pg_config
–马克·艾格(Mark Egge)
20年1月23日,下午3:27
#4 楼
在Windows上,我也收到了相同的消息。我抱怨连接字符串周围使用的引号类型(单引号还是双引号)。切换引号可以解决此问题。
#5 楼
即使您已经使用“ --with-pg = / path / to / pg_config”配置了源,也有可能会看到类似“ PostgreSQL support:no”的信息……在这种情况下,请运行sudo apt-获取安装postgresql-server-dev-all,然后重试。#6 楼
通过阅读ogr2ogr Vector格式文档,您似乎需要安装PostgreSQL客户端库(libpq)。这个类似的问题似乎为解决类似问题(仅使用Python绑定)提供了一些见识。
#7 楼
在Ubuntu 18.04(以及可能的其他版本)上,可从软件包postgresql-11-ogr-fdw
获得OGR的Postgres包装器。该版本适用于Postgres的版本11,因为它需要与客户端的版本匹配。对于此列表,请参见此包的不同版本,对于不同版本的Postgres,请使用以下命令:
aptitude search postgres | grep ogr-fdw
评论
一个小小的更正:brew install gdal --with-postgresql
– BenjaminGolder
2014年1月16日22:02
QGIS仍可与自制GDAL一起使用吗?
–Simbamangu
14年4月16日在8:20
好吧,它曾经可以工作,但是似乎有些依赖关系发生了变化。请参阅以下问答:gis.stackexchange.com/questions/79251/…
– Andrea Cremaschi
14年4月16日在12:14
您将如何在Windows机器上进行操作?理想情况下使用virtualenv
–罗格(RutgerH)
16 Dec 7'在21:41
请问Windows的解决方案是什么?
–丹尼斯·斯蒂芬诺夫(Denis Stephanov)
17年2月21日在16:03