Postgres là hệ quản trị cơ sở mã nguồn mở hỗ trợ rất mạnh các hệ thống thông tin bản đồ (webgis). Tài liệu này sẽ hướng dẫn cài đặt PostgreSQL 9.5; PostGIS; Pgrouting trong hệ điều hành CentOS 6
Bước 1: cài đăt PostgreSQL 9.5 từ Yum repo
Sử dụng tài khoản root
Trước hết háy kiểm tra phiên bản cài đặt CentOS của bạn bằng lệnh
uname -a hoặc cat /etc/redhat-release
Tiếp theo, chạy lệnh sau để cập nhật bộ cài đặt
rpm -ivh https://yum.postgresql.org/9.5/redhat/rhel-6.8-x86_64/pgdg-centos95-9.5-2.noarch.rpm
(phiên bản trên máy tôi sử dụng CentOS 6) đối với các phiên bản khác, dùng lệnh tương ứng sau:
CentOS/RHEL 7
# rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
CentOS/RHEL 6
# rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm
CentOS/RHEL 5
# rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-5-x86_64/pgdg-redhat95-9.5-2.noarch.rpm
Fedora 23:
# rpm -Uvh http://yum.postgresql.org/9.5/fedora/fedora-23-x86_64/pgdg-fedora95-9.5-3.noarch.rpm
Fedora 22
# rpm -Uvh http://yum.postgresql.org/9.5/fedora/fedora-22-x86_64/pgdg-fedora95-9.5-3.noarch.rpm
Fedora 21
# rpm -Uvh http://yum.postgresql.org/9.5/fedora/fedora-21-x86_64/pgdg-fedora95-9.5-2.noarch.rpm
Sau khi chạy lệnh trên, để kiểm tra các phiên bản postgres trên máy, có thể sử dụng lệnh:
Yum | grep pgdg95
Lệnh trên sẽ liệt kê tất cả phiên bản postgres và các thành phần khác từ repo
Để cài đặt PostgreSQL 9.5 có thể sử dụng lệnh sau:
yum install postgresql95 postgresql95-server postgresql95-libs postgresql95-contrib postgresql95-devel
Bước 2: Tạo tài khoản, cấu hình postgresql
Tiếp theo bạn cần tạo tài khoản truy cập csdl postgresql như sau
Passwd postgres
Sau đó, cần nhập password cho tài khoản postgres vừa tạo
Cuối cùng, bạn có thể khởi tạo dịch vụ CSDL PostgreSQL bằng lệnh
service postgresql-9.5 initdb
service postgresql-9.5 start
Có thể cấu hình dịch vụ PostgreSQL tự động chạy khi khởi động máy bằng lệnh
chkconfig postgresql-9.5 on #(to have start on bootup)
Từ console, có thể truy cập Postgres bằng lệnh sau
# su - postgres
$ psql
psql (9.5.0)
Type "help" for help.
postgres=#
Từ đây có thể tạo một DB bằng lệnh
CREATE DATABASE gistest;
Bước 3: Cài đặt PostGIS
Postgis là tiện ích được xây dựng trên nền tảng PostgreSQL cung cấp thêm nhiều tiện ích lưu trữ, thao tác với dữ liệu không gian.
Để cài đặt PostGIS bạn sử dụng lệnh sau:
sudo yum install postgis2_95 postgis2_95-client
Nếu gặp lỗi:
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libdapclient.so.3()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libdap.so.11()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libspatialite.so.2()(64bit)
Error: Package: postgis2_95-2.2.0-1.rhel6.x86_64 (pgdg95)
Requires: hdf5
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libarmadillo.so.4()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libCharLS.so.1()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libgta.so.0()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libgeotiff.so.1.2()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libfreexl.so.1()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libdapserver.so.7()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libcfitsio.so.0()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libnetcdf.so.6()(64bit)
Error: Package: gdal-libs-1.9.2-7.rhel6.x86_64 (pgdg95)
Requires: libhdf5.so.6()(64bit)
Là do nguyên nhân xung đột phiên bản. Bạn có thể sử dụng lệnh sau để sửa lỗi:
Với CentOS 6, RHEL 6 64-bit/32-bit bạn sử dụng lệnh
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Với CentOS 5, RHEL 5 64-bit:
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
Sau đó cài lại postgis bằng lệnh
yum install postgis2_95
Tiếp theo bạn có thể chạy thêm lệnh để cài đặt ogr_fdw
yum install ogr_fdw95
Bước 4: Cài đặt pgRouting
pgRouting là ứng dụng cho phép tìm đường trên bản đồ. Đề cài đặt tiện ích này sử dụng lệnh sau:
yum install pgrouting_95
Sau khi cài đặt thành công, có thể mở rộng thêm tính năng gis cho DB vừa tạo ở trên
# su - postgres
$ psql
psql (9.5.0)
Type "help" for help.
postgres=#
\connect gistest;
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION ogr_fdw;
Để kiểm tra, sử dụng lệnh:
SELECT postgis_full_version();
Sẽ có kết quả như sau:
postgis_full_version
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.11.2, released 2015/02/10" LIBXML="2.9.1" LIBJSON="0.11" TOPOLOGY RASTER
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.11.2, released 2015/02/10" LIBXML="2.9.1" LIBJSON="0.11" TOPOLOGY RASTER
If the above output returns 2.2.0 instead of 2.2.1+, you should upgrade, by doing the following:
Exit out psql
\q
exit
exit
and run yum with:
yum update postgis2_95
Which should give you:
Resolving Dependencies
--> Running transaction check
---> Package postgis2_95.x86_64 .. will be updated
---> Package postgis2_95.x86_64 .. will be an update
--> Finished Dependency Resolution
--> Running transaction check
---> Package postgis2_95.x86_64 .. will be updated
---> Package postgis2_95.x86_64 .. will be an update
--> Finished Dependency Resolution
Chúc các bạn thành công!
Không có nhận xét nào :
Đăng nhận xét