在CentOS 7上安装PostGIS

我在CentOS 7环境中安装了PostgreSQL 9.5 + PostGIS 2.2.2。

PostGIS — 为 PostgreSQL 提供的空间和地理对象
http://postgis.net/

以下是CentOS的版本。

# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
# uname -a
Linux postgis 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

安装

从 yum 的默认仓库安装的 PostgreSQL 版本号为 9.2.15。
由于这个版本有点旧,所以建议从 PostgreSQL 官方的 yum 仓库安装。

PostgreSQL RPM软件库(通过Yum)
http://yum.postgresql.org/repopackages.php#pg95

从上述位置下载并安装适用于CentOS 7的PostgreSQL 9.5的RPM包。

# yum install -y https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
# yum install -y postgresql95 postgresql95-server postgresql95-libs postgresql95-contrib postgresql95-devel

请先添加EPEL软件仓库,然后通过EPEL安装PostGIS。

# rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
# yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
# yum install -y postgis2_95

版本确认。

# psql --version
psql (PostgreSQL) 9.5.3

数据库初始化。

# /usr/pgsql-9.5/bin/postgresql95-setup initdb
Initializing database ... OK

编辑 pg-hba.conf 文件以更改认证模式。

# vi /var/lib/pgsql/9.5/data/pg_hba.conf

由于是在家中开展开发环境,先暂时按照以下方式进行更改。

# IPv4 local connections:
host    all             all             0.0.0.0/0            trust

编辑postgresql.conf文件。

# vi /var/lib/pgsql/9.5/data/postgresql.conf

解除 listen_addresses 的注释,并将 localhost 更改为 “*”。

listen_addresses = '*'

启动服务器。

# systemctl start postgresql-9.5

查看日志。

# tail -F /var/log/messages
Jun  3 14:53:48 localhost systemd: Starting PostgreSQL 9.5 database server...
Jun  3 14:53:48 localhost pg_ctl: < 2016-06-03 14:53:48.306 JST >LOG:  ログ出力をログ収集プロセスにリダイレクトしています
Jun  3 14:53:48 localhost pg_ctl: < 2016-06-03 14:53:48.306 JST >ヒント:  ここからのログ出力はディレクトリ"pg_log"に現れます。
Jun  3 14:53:49 localhost systemd: Started PostgreSQL 9.5 database server.
# tail -F /var/lib/pgsql/9.5/data/pg_log/postgresql-Fri.log
< 2016-06-03 14:53:48.307 JST >LOG:  データベースシステムは 2016-06-03 14:43:27 JST にシャットダウンしました
< 2016-06-03 14:53:48.309 JST >LOG:  MultiXact member wraparound protections are now enabled
< 2016-06-03 14:53:48.311 JST >LOG:  データベースシステムの接続受付準備が整いました。
< 2016-06-03 14:53:48.311 JST >LOG:  自動バキュームランチャプロセス

如果没有出现错误等情况,可以启用自动启动设置。

# systemctl enable postgresql-9.5
# systemctl is-enabled postgresql-9.5
enabled

尝试使用其他机器进行连接。

% psql -h 192.168.33.99 -U postgres
psql (9.3.13, server 9.5.3)
WARNING: psql major version 9.3, server major version 9.5.
         Some psql features might not work.
Type "help" for help.

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | 
 template0 | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

postgres=# \q

连接成功。

建立数据库

在安装了PostgreSQL的机器上切换到postgres用户并创建数据库。

# sudo su - postgres
$ createdb example

连接数据库。

$ psql -d example

执行”create extension postgis;”来启用PostGIS。

example=# create extension postgis;
CREATE EXTENSION

确认PostGIS的版本。

example=# SELECT postgis_full_version() ;
                                                                       postgis_full_version

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 POSTGIS="2.2.2 r14797" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.11.4, released 2016/01/25" LIBXML="2.9.1" LIBJSON="0.11" RASTER
(1 行)

目前看起来好像做得还行。

由于找不到能够进行适当确认的样本数据,所以我先到这里为止。

请参考以下网站

在CentOS上配置PostgreSQL/PostGIS环境 | JURI★GIS
http://www.jurigis.me/2015/01/09/postgis-install-2/

在CentOS上安装并测试PostgreSQL9.5 – Qiita
http://qiita.com/SOJO/items/a1d97887d24c3e44596f

广告
将在 10 秒后关闭
bannerAds