Tôi chỉ gặp vấn đề tương tự trên Ubuntu Server 14.04. Tôi đã cài đặt postgis
tiện ích mở rộng từ kho Ubuntu chính thức bằng cách sử dụng apt-get install postgis
.
Sau đó, find /usr -name postgis.control
không trả lại bất kỳ kết quả.
Lý do extension/postgis.control
không được cài đặt vì postgis-scripts không có.
$ aptitude search postgis
i libpostgis-java - Geographic objects support for PostgreSQL -- JDBC support
i postgis - Geographic objects support for PostgreSQL
p postgis:i386 - Geographic objects support for PostgreSQL
i postgis-doc - Geographic objects support for PostgreSQL -- documentation
i postgresql-9.3-postgis-2.1 - Geographic objects support for PostgreSQL 9.3
p postgresql-9.3-postgis-2.1:i386 - Geographic objects support for PostgreSQL 9.3
i postgresql-9.3-postgis-2.1-scripts - PostGIS for PostgreSQL 9.3 -- scripts -- dummy package
i postgresql-9.3-postgis-scripts - Geographic objects support for PostgreSQL 9.3 -- scripts
Giải pháp là cài đặt nó.
Trên các distro giống như debian:
apt-get install postgis*
Trình quản lý gói aptitude sẽ tự động xác định các phiên bản gói chính xác để cài đặt. Postgis-doc cũng sẽ được cài đặt.
BIÊN TẬP
Giống như một số người nhận thấy trong các bình luận, postgis*
không bắt buộc vì nó cài đặt một số gói không bắt buộc phải làm cho nó hoạt động.
Các gói yêu cầu là postgis
và postgresql-9.x-postgis-scripts
gói meta. Họ chọn đúng phiên bản thực cho hệ thống của bạn. Vì vậy, các lệnh để cài đặt các gói cần thiết là
$ sudo apt-get install postgis postgresql-9.3-postgis-scripts
cho postgresql-9.3
. Ubuntu 16.04
chạy postgresql-9.5
để lệnh trở thành:
$ sudo apt-get install postgis postgresql-9.5-postgis-scripts
Bạn có thể kiểm tra sự thành công của thao tác bằng cách chạy lệnh sau:
find /usr -name postgis.control
Trên máy chủ của tôi, bây giờ nó trả về:
/usr/share/postgresql/9.3/extension/postgis.control
Bây giờ bạn có thể kích hoạt tiện ích mở rộng trên bất kỳ cơ sở dữ liệu nào trên máy chủ postgres của mình:
- kết nối với db của bạn với superuser (theo mặc định postgres)
- chạy
CREATE EXTENSION postgis;
Lược đồ công khai của bạn bây giờ chứa tất cả các đối tượng và hàm postgis.