Me han instalado postgis siguiendo esta guía . Todo está bien.
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"
Pero no tengo el shp2pgsql /usr/lib/postgresql/9.4/bincomo puedes ver:
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
¿Por qué pasa esto? y como puedo instalarlo?
postgis
postgresql
ubuntu
shp2pgsql
Desbordamiento012
fuente
fuente

Respuestas:
También estaba siguiendo el método de instalación de OP de PostgreSQL y PostGIS, a saber
sudo apt-get install postgresql-9.4-postgis-2.1 pgadmin3 postgresql-contrib-9.4Habilité la extensión PostGIS en una base de datos pero no pude
shp2pgsqltrabajar hasta que lo hicesudo apt-get install postgiscomo se indica en la parte inferior de la página. Por qué
postgresql-9.4-postgis-2.1no incluyeshp2pgsqly simplemente lopostgishace ... No estoy realmente seguro. Pero PostgreSQL, PostGIS yshp2pgsqltodos están funcionando bien ahora.fuente
Al instalar postgis en Linux, asegúrese de instalar también el cliente, ya que postgis por sí solo no instalará el ejecutable shp2pgsql.
Hasta que instale el cliente, solo hay un enlace en / usr / bin / apuntando a / etc / Alternatives / postgis-shp2pgsql. Este es solo un enlace vacío hasta que la instalación del cliente coloca los ejecutables en /usr/pgsql-9.4/bin.
Espero que esto ayude, agradezco que el OP hizo la pregunta hace unos meses y espero encontrar una resolución antes.
fuente
Normalmente, el
shp2pgsqlbinario está en/usr/bin/shp2pgsqlcuando instala con paquetes como en el método que mencionó.¿Escribiste
shp2pgsqlen la línea de comando? Normalmente, funciona fuera de la caja.Si no,
¿Hiciste una
updatedb(línea de comando para indexar archivos) seguido de unalocate shp2pgsqlpara encontrar la ruta binaria real?¿Se hizo eco de la salida de la línea de comando usando
echo $PATH? ¿Y cuál es la salida?fuente
sudo locate shp2pgsqlestá vacío. Comandoecho $PAHTregresa/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/gamessudo locate shp2pgsqlestá vacío, parece que no lo instalóshp2pgsqlcorrectamente (o se olvidó de hacerlosudo updatedb). Si el nombre del paquete es el mismo para un repositorio adicional y el predeterminado, al hacer estosudo apt-get install postgisse instalarán ambosshp2pgsqlyshp2pgsql-gui. Esta respuesta se basa en el hecho de que supuse que estás usando una distribución basada en Debian (Debian, Mint o Ubuntu)sudo shp2pgsqly mantengosudo apt-get install postgisel errorfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorioIntente actualizar primero, y luego proceder desde allí:
sudo apt-get update.Parece tonto, pero estaba teniendo problemas con mis instalaciones de psql y postgis y todo se solucionó una vez que actualicé.
fuente