CentOS7使用yum安装PostgreSQL和PostGIS

  1. 更新yum源
    CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用。在https://yum.postgresql.org/repopackages.php上找到适合CentOS7的RPM源,复制其url地址,使用yum安装。
    同时安装epel(Extra Packages for Enterprise Linux 7),为了稳定性,CentOS7的默认yum源缺少很多组件,这些组件可以在epel上找到。
    命令:
    yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
    yum -y install epel-release

  2. 安装PostgreSQL
    使用yum search postgre命令可以看到多个版本的PostgreSQL,这里我选择了PostgreSQL10。
    yum install -y postgresql10-server postgresql10-contrib
    初始化
    /usr/pgsql-10/bin/postgresql-10-setup initdb
    设置开机启动
    systemctl enable postgresql-10
    启动数据库
    systemctl start postgresql-10
  3. 配置数据库
    配置远程访问,编辑/var/lib/pgsql/10/data/postgresql.conf,找到listen_addresses,如果想对所有IP开放,把listen_addresses的值改为‘*’,如果只对部分IP开放,多个IP之间用,(逗号加空格)隔开。
    配置账户访问权限,编辑/var/lib/pgsql/10/data/pg_hba.conf,文件分为5列,分别是TYPE、DATABASE、USER、ADDRESS、METHOD,可以对不同IP地址的用户设置不同数据库的访问权限。最后一列METHOD的解析如下:
    trust 任何连接都允许,不需要密码
    reject 拒绝符合条件(前面几个条件)的请求
    MD5 接收一个MD5加密过的密码
    password 接收一个密码来登陆,只在可信的网络使用这种方式
    gss 使用gssapi认证,只在tcp/ip连接可用
    sspi 只在windows可用的一种方式
    krb5 不常用,只在TCP/IP可用
    ident 使用操作系统用户名认证,验证它是否符合请求的的数据库用户名
    ldap 使用LDAP服务器认证
    cert 使用ssl客户端认证
    pam 使用操作系统的pam模块服务
    如果要求所有IP都是使用密码登录,则配置为host all all 0.0.0.0/0 md5
  4. 安装PostGIS
    使用yum search postgis命令可以看到多个版本的PostGIS,这里我选择postgis25,yum install -y postgis25_10,安装完毕后切换为postgres用户,开启扩展。
// 开启插件  
# su postgres  
# psql  
// 开启pgsql的插件  
postgres=# create extension postgis;  
postgres=# create extension postgis_topology;  
postgres=# create extension fuzzystrmatch;  
postgres=# create extension address_standardizer;  
postgres=# create extension address_standardizer_data_us;  
postgres=# create extension postgis_tiger_geocoder;  

至此,PostgreSQL和PostGIS安装完毕。

参考网址

http://postgis.net/install/
https://blog.csdn.net/weixin_34150830/article/details/92529479
https://www.cnblogs.com/xulingjie/p/9605472.html
https://www.cnblogs.com/EasonJim/p/9023607.html

你可能感兴趣的:(CentOS7使用yum安装PostgreSQL和PostGIS)