无法执行命令行 PostGIS pgsql2shp

无法执行命令行 PostGIS pgsql2shp

我在 Ubuntu 14 上使用带有 postgis 2.1 的 postgres 9.3。当我尝试使用 pgsql2shp 转储 pgsql 表时,出现以下错误。

Error: pg_wrapper: pgsql2shp was not found in /usr/lib/postgresql/9.3/bin

我使用的命令如下。

pgsql2shp -f "/home/user/testshp.shp" -h localhost -u postgres -P postgres  dbname "SELECT * FROM table"

sudo nano /etc/environment补充说,:/usr/local/bin/pgsql2shp

我还使用以下指南创建了一个链接:这里

sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/shp2pgsql
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/raster2pgsql

我做了什么事情导致了这个问题? 有解决办法吗?

谢谢!

答案1

问题在于不需要符号链接。

 sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp

我最终通过删除符号链接解决了该问题。

 sudo rm /usr/local/bin/shp2pgsql
 sudo rm /usr/local/bin/pgsql2shp
 sudo rm /usr/local/bin/raster2pgsql

然后删除 postgis 2.1

 sudo apt-get remove postgis-2.1
 sudo apt-get remove postgresql-9.4-postgis-2.1

然后再次安装 postgis

 sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
 sudo apt-get update 
 sudo apt-get install postgis

感谢 Gunnar Hjalmarsson 的帮助!

相关内容