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  退出数据库

7.开启远程访问
    vi /var/lib/pgsql/9.5/data/postgresql.conf
    修改#listen_addresses = 'localhost'  为  listen_addresses='*'【前面的注释要去掉哦!】
    当然,此处‘*’也可以改为任何你想开放的服务器IP
8.信任远程连接
    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地址。
 
  【host    all             all             192.168.198.0/24        trust】--虚拟机的IP为192.168.198.128设置成这个可以通过windows下的pgadmin连接VMWare虚拟机上的postgresql,这个IP到底是怎么设置的???【需要研究一下!!】
 
9.打开防火墙【开发环境或者内网可以直接把防火墙关掉】
    CentOS 防火墙中内置了PostgreSQL服务,配置文件位置在/usr/lib/firewalld/services/postgresql.xml,我们只需以服务方式将PostgreSQL服务开放即可。
    firewall-cmd --add-service=postgresql --permanent  开放postgresql服务
    firewall-cmd --reload  重载防火墙
-------------------------------------
  关闭防火墙
   [root@localhost ~]# systemctl stop firewalld.service
   [root@localhost ~]# systemctl disable firewalld.service
 
10. 重启PostgreSQL数据服务
    systemctl restart postgresql-9.5.service
 

文/lasko(简书作者)
以上原文链接:http://www.jianshu.com/p/7e95fd0bc91a【非常感谢!】
=================================================
默认安装的PostgreSQL字符集的问题
在导入中文字符时,会提示错误,或导进去出现乱码的情况,解决方法有两种:
1、设置postgresql客户端的编码
test=# \encoding GBK  
test=# show client_encoding;
 client_encoding 
-----------------
 GBK
[postgres@localhost ~]$ export PGCLIENTENCODING=GBK
 
2、设置终端的编码为UTF-8
[postgres@localhost ~]$ export LANG=zh_CN.UTF8
 
SecureCRT终端显示乱码,修改方法为:
Option->Session Option->外观->字符编码,把那个下拉框的内容改成“UTF8”
=================================================

 

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

 
posted @ 2016-11-11 21:17  marost  阅读(3145)  评论(1编辑  收藏  举报