PostGIS là một trình mở rộng cơ sở dữ liệu miễn phí và mã nguồn mở cho Hệ thống quản lý cơ sở dữ liệu PostgreSQL. Nó giúp bạn thêm một số chức năng bổ sung như diện tích, hợp, giao, khoảng cách, kiểu dữ liệu và cho phép chạy các truy vấn vị trí trong SQL. Với PostGIS, bạn có thể lưu trữ các loại đa giác và điểm của dữ liệu trong cơ sở dữ liệu PostgreSQL.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt PostGIS với PostgreSQL trên CentOS 8.
Tiếp theo, bật kho lưu trữ Powertool và tắt kho lưu trữ PostgreSQL mặc định bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi quá trình cài đặt hoàn tất, bạn có thể xác minh gói PostGIS bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, khởi tạo cơ sở dữ liệu PostgreSQL bằng lệnh sau:
Tiếp theo, khởi động dịch vụ PostgreSQL và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Đầu tiên, hãy đăng nhập vào người dùng Postgres bằng lệnh sau:
Tiếp theo, hãy tạo một người dùng và cơ sở dữ liệu postgres bằng lệnh sau:
Tiếp theo, hãy kết nối với cơ sở dữ liệu bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, hãy tạo một tiện ích mở rộng PostGIS bằng lệnh sau:
Tiếp theo, bạn có thể xác minh phiên bản PostGIS bằng lệnh sau:
Bạn sẽ thấy phiên bản PostGIS trong đầu ra sau:
Tiếp theo, thoát khỏi shell Postgres bằng lệnh sau;
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt PostGIS với PostgreSQL trên CentOS 8.
Điều kiện tiên quyết
- Một máy chủ chạy CentOS 8.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Bắt đầu
Trước khi bắt đầu, bạn sẽ cần cài đặt PostGIS và kho lưu trữ EPEL vào hệ thống của mình. Bạn có thể cài đặt cả hai bằng cách chạy lệnh sau:
Mã:
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Mã:
dnf config-manager --set-enabled PowerTools
dnf -qy module disable postgresql
Cài đặt PostGIS
Bây giờ, bạn có thể cài đặt PostGIS bằng cách chạy lệnh sau:
Mã:
dnf install postgis25_12
Mã:
rpm -qi postgis25_12
Mã:
Tên: postgis25_12Phiên bản: 2.5.5Bản phát hành: 2.rhel8Kiến trúc: x86_64Ngày cài đặt: Thứ Hai, ngày 01 tháng 02 năm 2021 11:59:37 PM ESTNhóm: Không xác địnhKích thước: 29832534Giấy phép: GPLv2+Chữ ký: DSA/SHA1, Thứ Ba, ngày 10 tháng 11 năm 2020 01:36:47 PM EST, ID khóa 1f16d2e1442df0f8RPM nguồn: postgis25_12-2.5.5-2.rhel8.src.rpmNgày xây dựng: Thứ Ba, ngày 10 tháng 11 năm 2020, 01:30:09 CH ESTMáy chủ xây dựng: koji-rhel8-x86-64-pgbuildDi dời: (không thể di dời)Nhà cung cấp: PostgreSQL Global Development GroupURL: http://www.postgis.net/Tóm tắt: Phần mở rộng Hệ thống thông tin địa lý cho PostgreSQLMô tả:PostGIS bổ sung hỗ trợ cho các đối tượng địa lý vào cơ sở dữ liệu quan hệ đối tượngPostgreSQL. Trên thực tế, PostGIS "kích hoạt không gian" máy chủ PostgreSQL,cho phép sử dụng máy chủ này làm cơ sở dữ liệu không gian phụ trợ cho các hệ thống thông tin địa lý (GIS), khá giống với SDE của ESRI hoặc phần mở rộng Không gian của Oracle. PostGIStuân theo "Đặc tả tính năng đơn giản cho SQL" của OpenGIS và đã đượcchứng nhận là tuân thủ hồ sơ "Kiểu và chức năng".
Mã:
/usr/pgsql-12/bin/postgresql-12-setup initdb
Mã:
systemctl start postgresql-12.service
systemctl enable postgresql-12.service
Tạo tiện ích mở rộng
Lúc này, PostgreSQL và PostGIS đã được cài đặt. Bây giờ, bạn sẽ cần tạo một tiện ích mở rộng cho PostGIS.Đầu tiên, hãy đăng nhập vào người dùng Postgres bằng lệnh sau:
Mã:
su - postgres
Mã:
createuser test_usr
createdb test_postgis -O test_usr
Mã:
psql -d test_postgis
Mã:
psql (12.5)Nhập "help" để được trợ giúp.
Mã:
CREATE EXTENSION postgis;
Mã:
select PostGIS_Full_Version();
Mã:
postgis_full_version--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- POSTGIS="2.5.5" [PHẦN MỞ RỘNG] PGSQL="120" GEOS="3.8.1-CAPI-1.13.3" PROJ="Rel. 7.2.1, ngày 1 tháng 1 năm 2021" GDAL="GDAL 3.2.1, phát hành ngày 29/12/2020" LIBXML="2.9.7" LIBJSON="0.13.1" LIBPROTOBUF="1.3.0" RASTER(1 hàng)
Mã:
exit
exit