ฐานข้อมูล Postgres เปิดใช้งานเป็นเชิงพื้นที่


12

ฉันกำลังพยายามสร้างฐานข้อมูล PostGIS ที่เปิดใช้งานเชิงพื้นที่ ฉันกำลังดังต่อไปนี้เอกสาร PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455

ในรุ่นสั้น ๆ ที่ฉันดำเนินการ

createdb yourdatabase
createlang plpgsql yourdatabase

แต่ฉันไม่ได้ใช้คำสั่งสามคำสั่งสุดท้าย

psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f postgis_comments.sql
psql -d yourdatabase -f spatial_ref_sys.sql

ฐานข้อมูลของฉันยังคงเปิดใช้งานอยู่หรือไม่ ถ้าไม่เช่นนั้นคุณสามารถบอกฉันได้ว่าไฟล์. sql เหล่านี้อยู่ที่ใดดังนั้นฉันสามารถรันคำสั่งสุดท้ายเหล่านั้นได้เนื่องจากฉันได้รับข้อผิดพลาดต่อไปนี้

postgis.sql: No such file or directory

ฉันใช้ Ubuntu 12.04


2
เพื่อค้นหาไฟล์ postgis.sql ของคุณให้รัน "ค้นหา postgis.sql" จาก bash (โดยไม่ใส่เครื่องหมายอัญประกาศ)
เคลโซ

คำตอบ:


14

ในขณะที่ฐานข้อมูลของคุณเป็นพื้นที่เชิงเทคนิค ณ จุดนี้คุณจะทำงานกับประเภทเรขาคณิต inbuilt pg เท่านั้น

เพื่อให้การติดตั้งของคุณเสร็จสมบูรณ์คุณจะต้องเรียกใช้สคริปต์ตามที่แนะนำ

คุณสามารถค้นหาได้ใน/usr/share/postgresql/[version number]/contrib/ไดเรกทอรีย่อย postgis ของคุณ

คุณควรเห็นสิ่งต่อไปนี้:

legacy_minimal.sql    postgis_upgrade_20_minor.sql    spatial_ref_sys.sql
legacy.sql            raster_comments.sql             topology_comments.sql
postgis_comments.sql  rtpostgis_legacy.sql            uninstall_legacy.sql
postgis_restore.pl    rtpostgis.sql                   uninstall_postgis.sql
postgis.sql           rtpostgis_upgrade_20_minor.sql  uninstall_rtpostgis.sql

18

หากคุณมี Ubuntu 12.04 คุณควรมี PostgreSQL 9.1 ซึ่งทำให้น่าทึ่งสำหรับ PostGIS 2.0 ที่ซึ่งคุณสามารถใช้ใช้เฟรมเวิร์กส่วนขยายใหม่ ในการเปิดใช้งานฐานข้อมูลเชิงพื้นที่ให้ใช้ DDL จากหน้าต่าง SQL:

CREATE EXTENSION postgis;

ดูรายละเอียดอื่น ๆ สำหรับการติดตั้ง PostGIS 2.0 จากแหล่งสำหรับ Ubuntu 12.04 ที่นี่


หากคุณใช้ PostGIS 1.5 คุณจะต้องใช้สคริปต์ตัวเปิดใช้งานใน "mydb" ซึ่งเรียกใช้จากเชลล์:

sudo -u postgres createdb mydb
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis_comments.sql

ที่จริงผมไม่ได้กลับไปข้าง /usr/share/postgresql/8.4/contrib/ และพบไฟล์ .sql มี
Sam007

2
สำหรับการใช้ฟังก์ชั่นรูปทรงเรขาคณิตเช่น ST_Transform และการสร้างคอลัมน์รูปทรงเรขาคณิตผู้ใช้จะต้องเลือก GRANT ใน spatial_ref_sys ถึงสาธารณะ GRANT ALL ON geometry_columns เป็น <ผู้ใช้ที่ฉันต้องการ>;
geekQ

1
นอกจากนี้คุณยังสามารถเรียกใช้SELECT postgis_full_version();หลังจากนั้นเพื่อตรวจสอบว่าฐานข้อมูลเปิดใช้งานเชิงพื้นที่
XåpplI'-I0llwlg'I -
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.