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/bin
como 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.4
Habilité la extensión PostGIS en una base de datos pero no pude
shp2pgsql
trabajar hasta que lo hicesudo apt-get install postgis
como se indica en la parte inferior de la página. Por qué
postgresql-9.4-postgis-2.1
no incluyeshp2pgsql
y simplemente lopostgis
hace ... No estoy realmente seguro. Pero PostgreSQL, PostGIS yshp2pgsql
todos 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
shp2pgsql
binario está en/usr/bin/shp2pgsql
cuando instala con paquetes como en el método que mencionó.¿Escribiste
shp2pgsql
en 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 shp2pgsql
para 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 shp2pgsql
está vacío. Comandoecho $PAHT
regresa/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
sudo locate shp2pgsql
está vacío, parece que no lo instalóshp2pgsql
correctamente (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 postgis
se instalarán ambosshp2pgsql
yshp2pgsql-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 shp2pgsql
y mantengosudo apt-get install postgis
el errorfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Intente 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