Ich habe shp2pgsql in der Postgis-Installation nicht gefunden


12

Ich wurde nach dieser Anleitung postgis installiert . Alles ist 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"

Aber ich habe nicht die shp2pgsql in, /usr/lib/postgresql/9.4/binwie Sie sehen können:

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

Warum passiert das? und wie kann ich es installieren?


Ich bin mir nicht sicher über Linux, aber unter Windows ist shp2pgsql in PostGis \ bin und nicht in postgresql \ bin.
Michael Stimson

Antworten:


17

Ich war auch im Anschluss an die Installation der OP - Methode von PostgreSQL und PostGIS, nämlich

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

Ich habe die PostGIS-Erweiterung in einer Datenbank aktiviert, konnte aber erst shp2pgsqldann arbeiten

sudo apt-get install postgis

wie unten auf der Seite aufgeführt. Warum postgresql-9.4-postgis-2.1nicht einschließt shp2pgsqlund einfach postgistut ... Ich bin mir nicht sicher. Aber PostgreSQL, PostGIS und shp2pgsqlalle funktionieren jetzt einwandfrei .


Gleiches gilt für Fedora
TheSteve0

8

Stellen Sie bei der Installation von postgis unter Linux sicher, dass Sie auch den Client installieren, da postgis allein die ausführbare Datei shp2pgsql nicht installiert.

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

Bis Sie den Client installieren, gibt es in / usr / bin / nur einen Link, der auf / etc / alternatives / postgis-shp2pgsql verweist. Dies ist nur ein leerer Link, bis die Client-Installation die ausführbaren Dateien in /usr/pgsql-9.4/bin platziert.

Hoffe, das hilft, schätze, dass das OP die Frage vor einigen Monaten gestellt hat, und ich hoffe, dass ich früher eine Lösung gefunden habe.


3

Normalerweise ist die shp2pgsqlBinärdatei aktiviert, /usr/bin/shp2pgsqlwenn Sie mit Paketen wie in der von Ihnen genannten Methode installieren.

Haben Sie die shp2pgsqlBefehlszeile eingegeben? Normalerweise funktioniert es sofort.

Wenn nicht,

  • Haben Sie eine updatedb(Befehlszeile zum Indexieren von Dateien) gefolgt von a ausgeführt locate shp2pgsql, um den tatsächlichen Binärpfad zu finden?

  • Haben Sie die Ausgabe über die Befehlszeile mit wiederholt echo $PATH? Und was ist die Ausgabe?


Befehl sudo locate shp2pgsqlist leer. Befehl echo $PAHTkehrt zurück/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Overflow012

Da sudo locate shp2pgsqles leer ist, haben Sie es anscheinend nicht shp2pgsqlrichtig installiert (oder Sie haben es vergessen sudo updatedb). Wenn der Paketname das gleiche für zusätzliche Repo und der Standard ist, tun ein sudo apt-get install postgisinstallieren sollten beide shp2pgsqlund shp2pgsql-gui. Diese Antwort basiert auf der Tatsache, dass ich angenommen habe, dass Sie eine Debian-basierte Distribution (Debian, Mint oder Ubuntu) verwenden
ThomasG77

Ich laufe sudo shp2pgsqlund sudo apt-get install postgisbehalte aber den Fehlerfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Overflow012

0

Versuchen Sie zuerst zu aktualisieren und fahren Sie dann fort :
sudo apt-get update.

Scheint dumm, aber ich hatte Probleme mit meinen Installationen von psql und postgis und alles wurde klar, sobald ich aktualisiert habe.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.