Cơ sở dữ liệu Postgres được kích hoạt không gian


12

Tôi đang cố gắng tạo cơ sở dữ liệu PostGIS được kích hoạt không gian. Tôi đang theo dõi tài liệu của PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

Trong phiên bản ngắn, tôi đã thực hiện,

createdb yourdatabase
createlang plpgsql yourdatabase

Nhưng tôi đã không thực hiện ba lệnh cuối cùng,

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

Cơ sở dữ liệu của tôi vẫn được kích hoạt không gian? Nếu không, thì bạn có thể cho tôi biết các tệp .sql này được đặt ở đâu để tôi có thể thực thi các lệnh cuối cùng này không, vì tôi đang gặp lỗi sau,

postgis.sql: No such file or directory

Tôi đang sử dụng Ubuntu 12.04


2
để tìm tệp postgis.sql của bạn chạy "định vị postgis.sql" từ bash (không có dấu ngoặc kép).
Kelso

Câu trả lời:


14

Mặc dù cơ sở dữ liệu của bạn là không gian kỹ thuật tại thời điểm này, bạn sẽ chỉ làm việc với các loại hình học pg sẵn có.

Để hoàn tất cài đặt của bạn, bạn cần chạy các kịch bản theo đề xuất.

Bạn có thể tìm thấy chúng trong thư mục /usr/share/postgresql/[version number]/contrib/con postgis của bạn .

Bạn nên xem như sau:

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

Nếu bạn có Ubuntu 12.04, thì bạn nên có PostgreSQL 9.1, điều này làm cho mọi thứ trở nên tuyệt vời cho PostGIS 2.0, nơi bạn có thể sử dụng sử dụng khung EXTENSION mới. Để kích hoạt không gian cơ sở dữ liệu, hãy sử dụng DDL từ cửa sổ SQL:

CREATE EXTENSION postgis;

Xem các chi tiết khác để cài đặt PostGIS 2.0 từ nguồn cho Ubuntu 12.04 tại đây .


Nếu bạn đang sử dụng PostGIS 1.5, bạn sẽ cần các tập lệnh enabler trên "mydb", chạy từ trình bao:

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

tôi thực sự đã goto /usr/share/postgresql/8.4/contrib/ và tìm thấy các tệp .sql ở đó
Sam007

2
Để sử dụng các hàm hình học như ST_Transform và tạo các cột hình học, người dùng cũng sẽ cần GRANT CHỌN TRÊN spatial_Vf_sys TO PUBLIC; CẤP TẤT CẢ TRÊN hình học_column TO <người dùng mong muốn của tôi>;
geekQ

1
Bạn cũng có thể chạy SELECT postgis_full_version();sau đó để kiểm tra xem cơ sở dữ liệu có được kích hoạt không gian không.
XåpplI'-I0llwlg'I - 20/11/14
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.