Thứ Sáu, 2 tháng 12, 2016

Hướng dẫn cài đặt PostgreSQL 9.5, PostGIS 2.2 and pgRouting 2.1.0 trong Centos

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
Kết quả hình ảnh cho postgresql pgrouting 

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
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
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

Chúc các bạn thành công!

Không có nhận xét nào :

Đăng nhận xét