我在postgis安装中找不到shp2pgsql


12

我已经按照本指南安装了postgis 。一切都OK。

SELECT postgis_full_version();
"POSTGIS="2.1.7 r13414" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.1, released 2013/08/26" LIBXML="2.9.1" LIBJSON="UNKNOWN" TOPOLOGY RASTER"

但是我没有看到shp2pgsql,/usr/lib/postgresql/9.4/bin如您所见:

foo@bar:/usr/lib/postgresql/9.4/bin$ ls
clusterdb   initdb             pg_dump         pg_standby      psql
createdb    oid2name           pg_dumpall      pg_test_fsync   reindexdb
createlang  pg_archivecleanup  pg_isready      pg_test_timing  vacuumdb
createuser  pg_basebackup      pg_receivexlog  pg_upgrade      vacuumlo
dropdb      pgbench            pg_recvlogical  pg_xlogdump
droplang    pg_controldata     pg_resetxlog    postgres
dropuser    pg_ctl             pg_restore      postmaster

为什么会这样?以及如何安装?


不知道Linux,但在Windows shp2pgsql是与PostGIS的\ bin并没有PostgreSQL的\ BIN ..
迈克尔·史汀生

Answers:


17

我也遵循OP的PostgreSQL和PostGIS 安装方法,即

sudo apt-get install postgresql-9.4-postgis-2.1 pgadmin3 postgresql-contrib-9.4

我在数据库中启用了PostGIS扩展,但是shp2pgsql直到我做完之后才开始工作

sudo apt-get install postgis

如页面底部所列。为什么postgresql-9.4-postgis-2.1不包括shp2pgsql而仅包括postgis....我不确定。但是PostgreSQL,PostGIS等shp2pgsql现在都可以正常工作。


Fedora也是如此
TheSteve0

8

在Linux上安装Postgis时,请务必同时安装客户端,因为Postgis本身不会安装shp2pgsql可执行文件。

yum install postgis2_94
yum install postgis2_94-utils
yum install postgis2_94-client

在安装客户端之前,/ usr / bin /中只有一个链接指向/ etc / alternatives / postgis-shp2pgsql。直到客户端安装将可执行文件放在/usr/pgsql-9.4/bin中,这只是一个空链接。

希望这会有所帮助,感谢OP在几个月前提出的问题,希望早日找到解决方案。


3

通常,在使用上述方法安装软件包时,shp2pgsql二进制文件/usr/bin/shp2pgsql位于其中。

您输入shp2pgsql命令行了吗?通常,它是开箱即用的。

如果不,

  • 您是否做了一个updatedb(用于索引文件的命令行)后跟一个locate shp2pgsql以查找真正的二进制路径?

  • 您是否使用来回显了命令行的输出echo $PATH?输出是什么?


命令sudo locate shp2pgsql为空。命令echo $PAHT返回/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Overflow012

因为sudo locate shp2pgsql是空的,所以看来您没有shp2pgsql正确安装(或者您忘记这样做了sudo updatedb)。如果其他回购的软件包名称与默认回购的软件包名称相同,sudo apt-get install postgis则应同时安装shp2pgsqlshp2pgsql-gui。该答案基于以下事实:我认为您正在使用基于Debian的发行版(Debian,Mint或Ubuntu)
ThomasG77,2015年

我跑sudo shp2pgsqlsudo apt-get install postgis,但保持错误foo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Overflow012

0

尝试先进行更新,然后从那里进行:
sudo apt-get update

似乎很愚蠢,但是我在安装psql和postgis时遇到了麻烦,并且在更新后一切都清除了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.