Nie znalazłem shp2pgsql w instalacji Postgis


12

Zostałem zainstalowany postgis zgodnie z tym przewodnikiem . Wszystko w porządku.

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"

Ale nie mam shp2pgsql, /usr/lib/postgresql/9.4/binjak widać:

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

Dlaczego tak się dzieje? i jak mogę to zainstalować?


Nie jestem pewien co do Linuksa, ale w Windows shp2pgsql jest w PostGis \ bin, a nie postgresql \ bin ..
Michael Stimson

Odpowiedzi:


17

Śledziłem również metodę instalacji PO PostgreSQL i PostGIS, a mianowicie

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

Włączyłem rozszerzenie PostGIS w bazie danych, ale shp2pgsqldopiero wtedy zacząłem działać

sudo apt-get install postgis

zgodnie z listą w dolnej części strony. Dlaczego postgresql-9.4-postgis-2.1nie zawiera shp2pgsqli po prostu postgiszawiera ... Nie jestem do końca pewien. Ale PostgreSQL, PostGIS i shp2pgsqlwszystkie działają teraz dobrze.


To samo dotyczy Fedory
TheSteve0

8

Podczas instalowania postgis w systemie Linux należy również zainstalować klienta, ponieważ postgis sam nie zainstaluje pliku wykonywalnego shp2pgsql.

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

Dopóki nie zainstalujesz klienta, w katalogu / usr / bin / znajduje się tylko link wskazujący na / etc / alternatives / postgis-shp2pgsql. Jest to tylko pusty link, dopóki instalacja klienta nie umieści plików wykonywalnych w /usr/pgsql-9.4/bin.

Mam nadzieję, że to pomoże, doceniam, że OP zadał to pytanie kilka miesięcy temu i mam nadzieję, że wcześniej znalazłem rozwiązanie.


3

Zwykle shp2pgsqlplik binarny jest dostępny /usr/bin/shp2pgsqlpodczas instalacji z pakietami podobnymi do wspomnianej metody.

Czy wpisałeś shp2pgsqlw linii poleceń? Zwykle działa po wyjęciu z pudełka.

Jeśli nie,

  • zrobiłeś updatedb(wiersz poleceń, aby indeksować pliki), a następnie, locate shp2pgsqlaby znaleźć prawdziwą ścieżkę binarną?

  • Czy używałeś echa danych wyjściowych z wiersza poleceń echo $PATH? A jaka jest wydajność?


Polecenie sudo locate shp2pgsqljest puste. echo $PAHTZwraca polecenia/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Przepełnienie

Ponieważ sudo locate shp2pgsqljest pusty, wygląda na to, że nie zainstalowałeś się shp2pgsqlpoprawnie (lub zapomniałeś zrobić sudo updatedb). Jeśli nazwa pakietu jest taka sama dla dodatkowego repozytorium i domyślnej, wykonanie sudo apt-get install postgispowinno zainstalować zarówno, jak shp2pgsqli shp2pgsql-gui. Ta odpowiedź opiera się na fakcie, że
podejrzewasz,

Biegnę sudo shp2pgsqla sudo apt-get install postgisjednak zachowuje błądfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Overflow012

0

Spróbuj zaktualizować, a potem kontynuować stamtąd:
sudo apt-get update.

Wydaje się głupie, ale miałem problemy z instalacjami psql i postgis i wszystko się wyjaśniło po aktualizacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.