首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用GDAL ogr2ogr远程连接postgres

用GDAL ogr2ogr远程连接postgres
EN

Stack Overflow用户
提问于 2015-01-16 14:59:41
回答 1查看 7.2K关注 0票数 7

我试图通过Gdal ogr2ogr将一个shapefile插入到ogr2ogr中,命令如下所示:

ogr2ogr -f 'PostgreSQL' PG:dbname='dbname',user='user',host='172.17.2.176',password='password',port='5432' shapefile -nln 'cities'

但是,ogr2ogr似乎无法连接到单独的码头容器中的PosgreSQL。所有连接参数都是正确的,使用相同的连接参数成功地建立和执行到同一个PostgreSQL容器的其他连接。Laravel迁移、在对这些表执行命令之前检查数据库和表是否存在的命令行sql以及使用COPY命令导入csv文件,所有这些都使用PostgreSQL命令中使用的相同连接参数成功地运行到单独的ogr2ogr停靠器容器。

当我跑步时:

ogrinfo 'PostgreSQL' PG:dbname='dbname',user='user',host='172.17.2.176',password='password',port='5432'

我收到一个错误:“无法用下列驱动程序打开数据源` `PostgreSQL‘.”

列出的驱动程序之一是“-> PostgreSQL”。

这意味着加载并启用了PostgreSQL驱动程序?<- -一个混淆点

被连接的用户具有超级用户权限,这是由.sh脚本在正式的PostgreSQL停靠库映像中创建的:https://github.com/docker-library/postgres/tree/master/9.4

据我所见,通过我对谷歌和文档的研究,一切都是正确的,应该是有效的。

超级用户权限,数据库连接的正确语法,加载的驱动程序。我遗漏了什么?我已经尝试了几天了,我需要帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-20 01:18:41

连接字符串的语法很重要,特别是在使用引号时。请参阅PostgreSQL驱动程序,以获得一个应该是什么样子的示例。例如,尝试:

代码语言:javascript
复制
$ ogrinfo PG:"host=172.17.2.176 port=5432 user='user' password='password' dbname='dbname'"

一些方便的提示:

  • 如果经常连接到此数据库,则可以通过使用环境变量指定主机、端口、数据库名称和/或用户名。
  • 在输入命令或脚本时,可以使用密码文件来避免泄露密码。
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27986769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档