ฉันไม่พบ shp2pgsql ในการติดตั้ง postgis


12

ฉันติดตั้ง postgis ตามคู่มือนี้แล้ว ทั้งหมดก็โอเค

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"

แต่ฉันไม่มี shp2pgsql ใน/usr/lib/postgresql/9.4/binตามที่คุณเห็น:

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

ทำไมสิ่งนี้เกิดขึ้น และฉันจะติดตั้งได้อย่างไร


ไม่แน่ใจเกี่ยวกับ linux แต่ใน Windows shp2pgsql อยู่ใน PostGis \ bin และไม่ใช่ postgresql \ bin ..
Michael Stimson

คำตอบ:


17

ฉันได้ติดตามวิธีการติดตั้งของ PostgreSQL และ PostGIS ของ OP ด้วยเช่นกัน

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

ฉันเปิดใช้งานส่วนขยาย PostGIS ในฐานข้อมูล แต่ไม่สามารถshp2pgsqlใช้งานได้จนกว่าจะทำ

sudo apt-get install postgis

ตามที่ระบุไว้ทางด้านล่างของหน้า ทำไมpostgresql-9.4-postgis-2.1ไม่รวมshp2pgsqlและเรียบง่ายpostgis.... ฉันไม่แน่ใจจริงๆ แต่ PostgreSQL, PostGIS และshp2pgsqlทำงานได้ดีในขณะนี้


กันไปสำหรับ Fedora
TheSteve0

8

เมื่อติดตั้ง postgis บน Linux ต้องแน่ใจว่าได้ติดตั้งไคลเอนต์ด้วยเนื่องจาก postgis ด้วยตัวมันเองจะไม่ติดตั้งไฟล์ปฏิบัติการ shp2pgsql

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

จนกว่าคุณจะติดตั้งไคลเอ็นต์มีเพียงลิงก์ใน / usr / bin / ชี้ไปที่ / etc / ทางเลือก / postgis-shp2pgsql นี่เป็นเพียงลิงก์ว่างเปล่าจนกระทั่งไคลเอ็นต์ติดตั้งวางไฟล์ executables ใน /usr/pgsql-9.4/bin

หวังว่านี่จะช่วยได้ขอขอบคุณ OP ที่ถามคำถามเมื่อหลายเดือนก่อนและฉันหวังว่าจะพบวิธีแก้ไข


3

โดยปกติshp2pgsqlไบนารีอยู่ใน/usr/bin/shp2pgsqlเมื่อคุณติดตั้งด้วยแพคเกจเหมือนในวิธีที่คุณกล่าวถึง

คุณพิมพ์shp2pgsqlในบรรทัดคำสั่งหรือไม่ โดยปกติจะทำงานนอกกรอบ

ถ้าไม่,

  • คุณทำupdatedb(บรรทัดคำสั่งไปยังไฟล์ดัชนี) แล้วตามด้วย a locate shp2pgsqlเพื่อค้นหาไบนารีพา ธ จริงหรือไม่?

  • คุณได้สะท้อนเอาต์พุตจากบรรทัดคำสั่งโดยใช้echo $PATHหรือไม่? และเอาท์พุทคืออะไร?


คำสั่งsudo locate shp2pgsqlว่างเปล่า echo $PAHTผลตอบแทนคำสั่ง/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Overflow012

เนื่องจากsudo locate shp2pgsqlว่างเปล่าดูเหมือนว่าคุณไม่ได้ติดตั้งshp2pgsqlอย่างถูกต้อง (หรือคุณลืมที่จะทำsudo updatedb) หากชื่อแพคเกจจะเหมือนกันสำหรับ repo เพิ่มเติมและเริ่มต้นทำsudo apt-get install postgisควรติดตั้งทั้งในและshp2pgsql shp2pgsql-guiคำตอบนี้อยู่บนพื้นฐานของความเป็นจริงที่ฉันควรคุณกำลังใช้ distro Debian based (เดมิ้นท์หรืออูบุนตู)
ThomasG77

ฉันทำงานsudo shp2pgsqlและsudo apt-get install postgisยังคงมีข้อผิดพลาดfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Overflow012

0

ลองอัปเดตก่อนจากนั้นดำเนินการต่อจากที่นั่น:
sudo apt-get update.

ดูเหมือนจะเป็นใบ้ แต่ฉันมีปัญหากับการติดตั้ง psql และ postgis ของฉันและมันก็หมดไปเมื่อฉันอัพเดท

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.