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?


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.


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.


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?


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.