CentOS 7 安装、配置、使用 PostgreSQL 9.5及PostGIS2.2
学习CentOS下安装使用PostgreSQL
【安装过程】
1.添加RPM
yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
2.安装PostgreSQL 9.5
yum install postgresql95-server postgresql95-contrib
3.初始化数据库
/usr/pgsql-9.5/bin/postgresql95-setup initdb
4.设置开机自启动
systemctl enable postgresql-9.5.service
5.启动服务
systemctl start postgresql-9.5.service
自此,PostgreSQL 9.5 安装完成,以上一直使用的是root用户进行的安装。
【简单的配置】
PostgreSQL 安装完成后,会建立一下‘postgres’用户,用于执行PostgreSQL,数据库中也会建立一个'postgres'用户,默认密码为自动生成,需要在系统中改一下。
6.修改用户密码
su - postgres 切换用户,执行后提示符会变为 '-bash-4.2$'
psql -U postgres 登录数据库,执行后提示符变为 'postgres=#'
ALTER USER postgres WITH PASSWORD '123456' 设置postgres用户密码
\q 退出数据库
vi /var/lib/pgsql/9.5/data/postgresql.conf
修改#listen_addresses = 'localhost' 为 listen_addresses='*'【前面的注释要去掉哦!】
当然,此处‘*’也可以改为任何你想开放的服务器IP
vi /var/lib/pgsql/9.5/data/pg_hba.conf
修改如下内容,信任指定服务器连接
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all my_remote_client_ip_address/32 trust
my_remote_client_ip_address
是客户端的IP地址。CentOS 防火墙中内置了PostgreSQL服务,配置文件位置在/usr/lib/firewalld/services/postgresql.xml,我们只需以服务方式将PostgreSQL服务开放即可。
firewall-cmd --add-service=postgresql --permanent 开放postgresql服务
firewall-cmd --reload 重载防火墙
systemctl restart postgresql-9.5.service
以上原文链接:http://www.jianshu.com/p/7e95fd0bc91a【非常感谢!】
test=# show client_encoding;
client_encoding
-----------------
GBK
安装PostGIS
yum list postgis*
yum -y install postgis2_95.x86_64 postgis2_95-client.x86_64 postgis2_95-debuginfo.x86_64 postgis2_95-devel.x86_64 postgis2_95-docs.x86_64 postgis2_95-utils.x86_64
【安装过程中提示gdal安装不成功,解决方法yum install epel-release.noarch】
查看PostGIS相关文件确认安装成功:
/usr/pgsql-9.5/share/extension
/usr/pgsql-9.5/share/contrib/postgis-2.2 有相关postgis文件
加载PostGIS插件
# psql -d postgres -U postgres
psql (9.5.5)
输入 "help" 来获取帮助信息.
postgres=# \l
postgres=# create database postgis ;
CREATE DATABASE
postgres=# \c postgis
您现在已经连线到数据库 "postgis",用户 "postgres".
postgis=# select * from pg_extension;
postgis=# create extension postgis;
CREATE EXTENSION
postgis=# \dt
postgis=# select count(*) from spatial_ref_sys ;
postgis=# \dn
postgis=# create extension postgis_topology;
CREATE EXTENSION
postgis=# \dn