我知道shp2pgsql
位于postgresql目录中,但我不确定在此之后要使用哪些命令。我已经彻底阅读了手册,并且我知道shp2pgsql
命令的所有参数和选项。我得到的错误:使用shp2pgsql转换形状文件
-bash: shp2pgsql: command not found
它也许是权限问题?
我知道shp2pgsql
位于postgresql目录中,但我不确定在此之后要使用哪些命令。我已经彻底阅读了手册,并且我知道shp2pgsql
命令的所有参数和选项。我得到的错误:使用shp2pgsql转换形状文件
-bash: shp2pgsql: command not found
它也许是权限问题?
解决方法是导出程序的路径并将其放入$ PATH变量中。 另一种选择是将命令移动到已包含在PATH中的目录中,例如/ usr/bin。
例
出口PATH = /库/ PostgreSQL的/ 9.0 /斌/:$ PATH
或
正确的命令是«shp2pgsql»,你有一个错字。
用例:
# shp2pgsql -c -D -s 4269 -I shaperoads.shp myschema.roadstable > roads.sql
# psql -d roadsdb -f roads.sql
您首先生成一个sql文件,然后加载到你的数据库中。
对于输入错误仍然越来越感到遗憾:roads.sql:权限被拒绝 – John
对于那些与shp2pgsql一起使用的线程,您还可以将'shp2pgsql'的输出直接传递给'psql',而不是保存中间SQL文件。上面的例子看起来像:'shp2pgsql -c -D -s 4269 -I shaperoads.shp myschema.roadstable | psql -d roadsdb'有关更多信息,请查看[Boston GIS shp2pgsql备忘单](http://www.bostongis.com/pgsql2shp_shp2pgsql_quickguide_20.bqg)。 –
听起来像一个'PATH'问题。 '哪个shp2pgsql'显示它在哪里? –
是的你是对的我把初始目录导出到$ PATH,它非常感谢你的输入。 – John