Saya belum menemukan shp2pgsql dalam instalasi postgis

12

Saya telah menginstal postgis mengikuti panduan ini . Semua baik - baik saja.

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"

Tapi saya belum memasukkan shp2pgsql /usr/lib/postgresql/9.4/binseperti yang Anda lihat:

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

Kenapa ini terjadi? dan bagaimana cara menginstalnya?

Overflow012
sumber
Tidak yakin tentang linux tetapi pada Windows shp2pgsql dengan PostGis \ bin dan bukan postgresql \ bin ..
Michael Stimson

Jawaban:

17

Saya juga mengikuti metode instalasi OP PostgreSQL dan PostGIS, yaitu

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

Saya mengaktifkan ekstensi PostGIS dalam database tetapi tidak mulai shp2pgsqlberfungsi sampai saya melakukannya

sudo apt-get install postgis

seperti yang tercantum di bagian bawah halaman. Mengapa postgresql-9.4-postgis-2.1tidak termasuk shp2pgsqldan hanya postgis.... Saya tidak benar-benar yakin. Tapi PostgreSQL, PostGIS, dan shp2pgsqlsemuanya bekerja dengan baik sekarang.

haff
sumber
Hal yang sama berlaku untuk Fedora
TheSteve0
8

Saat memasang postgis di Linux, pastikan untuk menginstal klien juga, karena postgis sendiri tidak akan menginstal shp2pgsql yang dapat dieksekusi.

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

Sampai Anda menginstal klien, hanya ada tautan di / usr / bin / menunjuk ke / etc / alternative / postgis-shp2pgsql. Ini hanya tautan kosong sampai klien menginstal tempat file executable di /usr/pgsql-9.4/bin.

Semoga ini bisa membantu, menghargai OP mengajukan pertanyaan beberapa bulan yang lalu dan saya berharap menemukan resolusi lebih cepat.

smbennett1974
sumber
3

Biasanya, shp2pgsqlbiner ada di /usr/bin/shp2pgsqlsaat Anda menginstal dengan paket seperti pada metode yang Anda sebutkan.

Apakah Anda mengetikkan shp2pgsqlbaris perintah? Biasanya, ini bekerja di luar kotak.

Jika tidak,

  • apakah Anda melakukan updatedb(baris perintah untuk mengindeks file) diikuti dengan locate shp2pgsqluntuk menemukan path biner nyata?

  • apakah Anda menggema output dari baris perintah menggunakan echo $PATH? Dan apa hasilnya?

ThomasG77
sumber
Perintah sudo locate shp2pgsqlkosong. Perintah echo $PAHTpengembalian/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Overflow012
Karena sudo locate shp2pgsqlkosong, sepertinya Anda tidak menginstal shp2pgsqldengan benar (atau Anda lupa melakukannya sudo updatedb). Jika nama paket sama untuk repo tambahan dan default, melakukan sudo apt-get install postgisharus menginstal keduanya shp2pgsqldan shp2pgsql-gui. Jawaban ini didasarkan pada fakta saya mengira Anda menggunakan distro berbasis Debian (Debian, Mint atau Ubuntu)
ThomasG77
Saya menjalankan sudo shp2pgsqldan sudo apt-get install postgistetapi menyimpan kesalahanfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Overflow012
0

Cobalah memperbarui pertama, dan kemudian melanjutkan dari sana:
sudo apt-get update.

Tampaknya bodoh, tapi saya mengalami masalah dengan instalasi psql dan postgis saya dan semuanya beres setelah saya perbarui.

alfonso
sumber