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的更多相关文章

  1. 阿里云Centos7使用yum安装MySQL5.6的正确姿势

    阿里云Centos7使用yum安装MySQL5.6 阿里云Centos7使用yum安装MySQL5.6 前言:由于某些不可抗力,我要在自己的阿里云服务器上搭建hadoop+hive+mysql+tom ...

  2. centos7通过yum安装nginx

    centos7通过yum安装nginx nginx不支持centos7通过yum直接安装~~~ 1.查看操作系统位数[root@-jenkins ~]# rpm -aq|grep centos-rel ...

  3. <亲测>centos7通过yum安装JDK1.8(实际上是openjdk)

    centos7通过yum安装JDK1.8   安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |gr ...

  4. centos7.0 yum 安装php服务器

    https://blog.csdn.net/jiaoshenmo/article/details/50923900 首先收一下:centos7.0用yum直接安装apache.php他们的默认版本是a ...

  5. CentOS7使用yum安装LNMP环境以后无法打开php页面

    CentOS7使用yum安装LNMP环境以后无法打开php页面 页面提示为File not found 查看nginx错误日志/var/log/nginx/error.log提示如下 原因分析 ngi ...

  6. CentOS7通过 yum安装路径查询方法

    CentOS7通过 yum安装路径查询方法 rpm -qa 然后执行 rpm -ql 软件名称 就可以显示软件的安装路径. 原文博客的链接地址:https://cnblogs.com/qzf/

  7. centos7 下 yum 安装Nginx

    centos7 下 yum 安装和配置 Nginx 添加yum源 Nginx不在默认的yum源中,可以使用epel或者官网的yum源,这里使用官网的yum源 rpm -ivh http://nginx ...

  8. Centos7通过yum安装jdk8

    1.Centos7通过yum安装jdk8 2.Centos7通过yum安装jdk8

  9. CentOS7 通过YUM安装MySQL5.7 linux

    CentOS7 通过YUM安装MySQL5.7 1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep  ...

随机推荐

  1. Django之数据库对象关系映射

    Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...

  2. linux/videodev.h: No such file or directory错误解决方法

    sudo apt-get install libv4l-dev* file yum install libv4l-dev* yum install libv4l-dev* 上面错误的问题是两个2.4以 ...

  3. linux chown 命令用法

    [-cfhvR] [--help] [--version] user[:group] file  比如  chown chown root /home 把/home的属主改成root用户使用权限 : ...

  4. mysql插入数据时 insert IGNORE、ON DUPLICATE KEY UPDATE、replace into

    转: mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 博客分类: mysql基础应用   mysql insert时几个操作DE ...

  5. fbx模型在OSG中渲染

    int main() { osg::ref_ptr<osgViewer::Viewer> viewer1 = new osgViewer::Viewer; osg::ref_ptr< ...

  6. Python与C/C++相互调用(python2 调c++那个试了ok)

    一.问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结. 二.Python调用C/C++ 1.Python调用C动态链接库 Python调用C库比较简单,不经过 ...

  7. PAT 甲级 1042 Shuffling Machine (20 分)(简单题)

    1042 Shuffling Machine (20 分)   Shuffling is a procedure used to randomize a deck of playing cards. ...

  8. Linux——定时任务crontab

    linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题. cron介绍 我们经常使用的是crontab命令是cron table的简写,它是cron的配 ...

  9. sonar:soanrqube接口api

    背景: jenkins+sonar集成了代码扫描,但是发出的邮件不管项目质量是通过还是失败,每次邮件的标题都是jenkins的构建状态,所以需要获取sonar中该项目的扫描结果. 解决: 在sonar ...

  10. MOQ中CallBase的作用

    当使用Moq来Mock一个具体的类,类里的方法为virtual时,Moq会将当前类,所有的virtual方法默认重写成空实现. 如果我们想要访问真实的代码,有两种方法 1.在创建Mock时,设置Cal ...