centos7安装 postgresql postgis pgrouting

news/2024/11/20 2:20:52/

centos7 源码编译太烦了。直接yum install ......

一、版本信息:
CentOS版本:CentOS Linux release 7.9.2009 (Core)
PostgreSQL版本: PostgreSQL 12.0

PostGIS版本:postgis31

二、PostgresSQL + PostGIS 安装
1、官网安装链接:
PostgreSQL: Linux downloads 

2、升级所有包同时也升级软件和系统内核

yum -y update

3、安装rpm文件

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

4、安装PostgreSQL客户端
使用 yum search postgresql* 命令可以看到多个版本的PostgreSQL,这里我选择了PostgreSQL12。

yum install -y postgresql12

5、安装PostgreSQL服务端

yum install -y postgresql12-server

6、初始化

/usr/pgsql-12/bin/postgresql-12-setup initdb

7、设置自动启动并且启动postgresql服务

systemctl enable postgresql-12
systemctl start postgresql-12

8、postgresql官网上有明确的操作步骤


三、创建用户和数据库
1、使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码)
 

su postgres


2、登录postgresql数据库


3、创建用户和数据库并授权

create user test_user with password '123456';            // 创建用户
create database test_db owner test_user;                 // 创建数据库
grant all privileges on database test_db to test_user;   // 授权

4、退出psql(输入 \q 再按回车键即可)

\q

四、开启远程访问
1、修改/var/lib/pgsql/12/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”


2、修改/var/lib/pgsql/12/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。

3、切换到root用户,重启postgresql服务

systemctl restart postgresql-12.service

4、关闭防火墙

查看防火墙状态

firewall-cmd --state

停止firewall

systemctl stop firewalld.service

 
开启firewall

firewall-cmd --state

 
禁止firewall 开机启动

systemctl disable firewalld.service

5、使用数据库连接工具测试连接


五、额外补充

1、修改默认生成的 postgres 用户密码(此postgres非上面的postgres用户,此为数据库的用户,上面的为操作系统的用户)

su - postgres
psql -U postgres
alter user postgres with encrypted password '123456';

2、服务启动、关闭、重启、查看状态命令

systemctl start postgresql-12.service     // 启动服务
systemctl stop postgresql-12.service      // 关闭服务
systemctl restart postgresql-12.service   // 重启服务
systemctl status postgresql-12.service    // 查看状态

六、安装postgis和pgRouting

1、安装postgis的依赖包

rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

2、安装postgis

yum install postgis31_12.x86_64

3、安装完毕后切换为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; 

//查看版本,验证安装是否成功
postgres=# SELECT PostGIS_full_version();
4、安装pgRouting

使用 yum search pgrouting 命令可以看到多个版本的pgrouting,这里我选择了pgrouting12。

yum install pgrouting_12

5、最终已安装扩展如下:

 
————————————————
版权声明:本文为CSDN博主「angelasp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Angel_asp/article/details/124308694


http://www.ppmy.cn/news/1039167.html

相关文章

力扣75——回溯

总结leetcode75中的回溯算法题解题思路。 上一篇:力扣75——二分查找 力扣75——回溯 1 电话号码的字母组合2 组合总和 III1-2解题总结 1 电话号码的字母组合 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以…

原生实现koa框架连接mongoose数据库

1.首先新建一个初始化文件 npm init -y2.下载koa框架所依赖的插件 npm i koa koa-bodyparser koa-router mongoose3.新建一个server.js文件作为我们的服务器 const Koa require(koa) const Router require(koa-router) //可以接受post请求 const bodyParser require(koa-b…

Redis持久化——AOF

介绍 Redis是运行在内存中的数据库,当我们关闭了Redis服务器后,内存中的数据会丢失吗? 答案是不会的,因为Redis有持久化功能,能够将内存中的数据保存到磁盘中的文件,以此来实现数据的永久保存。 在Redis中…

笔记:移植xenomai到nuc972(1)

xenomai是一个实时操作系统,想要使用它,先要移植I-pipe补丁 补丁在xenomai / ipipe-arm GitLab 我的内核是4.4-248的,合并上去会有几个小错误,随便改改就好 编译内核没有报错之后,接下来需要修改arch/arm/mach-nuc970/time.c 修改方法参考补丁里面其它设备的定时器驱动,就…

面向对象编程(OOP):Python中的抽象与封装

文章目录 🍀引言🍀 类与对象🍀封装🍀继承🍀多态🍀面向对象编程的优势🍀使用面向对象编程的场景🍀实例化与构造函数🍀 成员属性和类属性🍀魔术方法&#x1f34…

数据结构—排序

8.排序 8.1排序的概念 什么是排序? 排序:将一组杂乱无章的数据按一定规律顺序排列起来。即,将无序序列排成一个有序序列(由小到大或由大到小)的运算。 如果参加排序的数据结点包含多个数据域,那么排序往…

联想拯救者笔记本Win11系统键盘无法打字解决参考方法

一位好机友新购买的联想拯救者笔记本在使用过程中突然发现整个键盘都不能使用了、不能打字、按任何按键都没有反应,只有鼠标能正常操作;那么这是什么问题呢?能不能是笔记本的键盘坏了呢?还是笔记本出现了什么故障而引起键盘失灵呢…

极客时间-《左耳听风》

技术基础 02 程序员如何用技术变现(下) 在学习技术的过程一定要多问自己两个问题:“一,这个技术解决什么问题?为什么别的同类技术做不到?二,为什么是这样解决的?有没有更好的方式&…