1. 先需要下载相应的rpm包

地址

https://pkgs.org/search/?q=postgresql12

一般至少要下载如下四个包

postgresql12-12.3-1PGDG.rhel7.x86_64.rpm
postgresql12-contrib-12.3-1PGDG.rhel7.x86_64.rpm
postgresql12-libs-12.3-1PGDG.rhel7.x86_64.rpm
postgresql12-server-12.3-1PGDG.rhel7.x86_64.rpm

#注意 PGDG 应该是安装资源库的 可以不安装
#contrib 是安装扩展的 没有这个包就没有 ossp-uuid的插件了
#server 是数据库的安装文件
#libs 用来客户端进行连接.
#注意 如果是centos8 的话 选择 rhel8 进行下载就可以了.

根据 搜索下来安装即可

注意现在最新版本是 12.3

2. 进入到linux内的下载目录执行

yum localinstall *.rpm

不需要联网就可以安装成功:

3. 查看数据库服务

注意安装完pg12数据库之后会自动创建一个服务,可以看一下服务的状态. 建完库可能是无法使用的.

[root@CentOS76 PG12]# systemctl status postgresql-12
● postgresql-12.service - PostgreSQL 12 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2020-05-26 13:15:00 CST; 4min 18s ago
Docs: https://www.postgresql.org/docs/12/static/
Process: 7355 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE) May 26 13:15:00 CentOS76 systemd[1]: Starting PostgreSQL 12 database server...
May 26 13:15:00 CentOS76 systemd[1]: postgresql-12.service: control process exited, code=exited status=1
May 26 13:15:00 CentOS76 systemd[1]: Failed to start PostgreSQL 12 database server.
May 26 13:15:00 CentOS76 systemd[1]: Unit postgresql-12.service entered failed state.
May 26 13:15:00 CentOS76 systemd[1]: postgresql-12.service failed.

查看一下上面的 service 文件就可以执行创建库的操作了

注意这个里面的配置信息为:

[Unit]
Description=PostgreSQL 12 database server
Documentation=https://www.postgresql.org/docs/12/static/
After=syslog.target
After=network.target [Service]
Type=notify User=postgres
Group=postgres # Note: avoid inserting whitespace in these Environment= lines, or you may
# break postgresql-setup. # Location of database directory
Environment=PGDATA=/var/lib/pgsql/12/data/ # Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog # Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
Environment=PG_OOM_ADJUST_VALUE=0 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA}
ExecStart=/usr/pgsql-12/bin/postmaster -D ${PGDATA}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT # Do not set any timeout value, so that systemd will not kill postmaster
# during crash recovery.
TimeoutSec=0 [Install]
WantedBy=multi-user.target

注意有两个目录 一个是数据目录, 一个是程序目录

记住这两个目录就可以进行其他操作了.

4. 初始数据库

切换到PG的用户
su - postgres

切换到 PG 的默认程序目录
cd /usr/pgsql-12/bin/

执行初始化数据库的脚本
./initdb -D
/var/lib/pgsql/12/data/

5. 然后退回到 root 用户 打开服务,并且设置服务自动启动操作.

systemctl enable  postgresql-12 && systemctl restart postgresql-12

6.修改数据库密码.

su - postgres
进入postgresql 数据库
执行命令
psql
修改管理员的密码:
alter role postgres with password 'Test1127?!';

7. 修改连接池大小以及设置其他机器可以远程访问.

修改默认配置文件
vim /var/lib/pgsql/12/data/pg_hba.conf
在客户端安全配置的地方增加一行. host all all 0.0.0.0/0 md5
# 注意 trust 就是默认免密, md5 是默认加密.
修改数据库其他配置信息
vim /var/lib/pgsql/12/data/postgresql.conf

# 监听所有地址的请求 注意测试环境可以,开发环境需要与防火墙一同设置, 将listen_addresses 后面的localhost 修改为 * 并且去掉前面的注释.
listen_addresses = '*' 
注意也需要同步将port 前面的注释去掉.

# 修改 连接数 可以将max_connections的数值改大.

max_connections = 1000

8. 重启服务就可以使用了.

systemctl restart  postgresql-12

CentOS7 RPM离线安装PG12的办法的更多相关文章

  1. CentOS使用rpm离线安装mariadb

    本文不再更新,可能存在内容过时的情况,实时更新请移步原文地址:CentOS使用rpm离线安装mariadb: 环境: CentOS Linux release 7.6.1810 (Core) mari ...

  2. centos 6.4 mysql rpm 离线安装【备忘】

    离线状态下使用rpm的安装包进行mysql的安装,仅作备忘 准备工作: 官网下载mysql离线rpm安装包(这里就不演示了,拿现成的做演示) =================更新线 2018-01- ...

  3. 【从零开始搭建K8S】【第一篇】CentOS7.6离线安装Docker(手动安装以及基于yum本地源安装)

    下载CentOS7.6以及最小化安装CentOS7.6版本.由于CentOS属于开源软件,在国内也有很多的mirror站点可供下载,我选择的是华为站点进行下载:http://mirrors.huawe ...

  4. CentOS7.6离线安装MySql5.7

    准备好mysql的离线安装文件: MySql官网下载mysql-5.7.25-1.el7.x86_64.rpm-bundle,并复制到/usr/mysql文件夹中. 删除CentOS自带的MariaD ...

  5. centos7.6离线安装mysql5.7(附下载链接)

    本来打算直接用原生yum源安装,但是跨国访问网络太慢,只好采用离线安装的方式,原理就是把所需的rpm下载下来再上传服务器安装. 1.rpm文件下载地址: 目录: http://repo.mysql.c ...

  6. Chrome 离线安装插件的办法

    参考url 学习网址 https://blog.csdn.net/weixin_39068791/article/details/81411938 插件下载地址: http://www.lanfans ...

  7. CentOS7.6离线安装docker

    2019/10/24,docker 摘要:CentOS 7.6中离线安装docker 18.06.3以及docker-compose 1.24.1 在线安装可参照 文档 所需环境 1.CentOS 7 ...

  8. centos7.5 离线安装ntp服务

    安装 #检查rpm包 rpm -qa | grep ntp #从https://pkgs.org/download/ntp 下载rpm包 ntp-4.2.6p5-28.el7.centos.x86_6 ...

  9. Centos7.4 离线安装httpd(解决rpm依赖)

    1.直接下载httpd的rpm安装包,安装失败需要先解决依赖. [root@node06 ~]# rpm -ivh httpd--.el7.centos.x86_64.rpm warning: htt ...

  10. Centos7中离线安装DockerCE最新版

    一.简述 离线在Centos7中部署DockerCE. 二.步骤 (1)在有外网的计算A上执行: 1.配置安装源存放路径 mkdir -p /root/docker-ce-local &&am ...

随机推荐

  1. 光大银行刘淼:基于华为云GaussDB(DWS) 数据仓库创新实践

    摘要:面向未来数据平台3.0要做架构减法,平台由N->1,华为云GaussDB(DWS)未来作为数据仓库唯一平台,数据链路实现从数据湖直接到华为云GaussDB(DWS)数据仓库. 日前,华为举 ...

  2. 为AR&VR黑科技:以“自由视角”360度尽展舞台唯美

    摘要:看华为的黑科技,如何用"自由视角"让观众感受舞台"风暴"的魅力所在. "风暴"降临 2021年1月9日晚上,我坐在电视机前,等待湖南卫 ...

  3. 云图说|每个成功的业务系统都离不开APIG的保驾护航

    摘要:华为云API网关(APIG)是为企业开发者及合作伙伴提供的高性能.高可用.高安全的API托管服务, 帮助企业轻松构建.管理和部署不同规模的API. 本文分享自华为云社区<[云图说]第243 ...

  4. 协同编辑:Google Wave架构分析

    Google Wave的设计初衷是让人们互相发送信息,一起编辑文档,但用户对此感到困惑,很快就以失败告终.Google Wave持续了大约一年时间,于2010年8月被关闭. Wave"领先于 ...

  5. TML转义字符:xss攻击与HTML字符的转义和反转义

    xss与转义符 xss简单来说: XSS 攻击是页面被注入了恶意的代码 XSS 漏洞是 可以让攻击者注入恶意代码可执行的漏洞 具体参看之前写的: web开发前端安全问题总结--web前端安全问题汇总  ...

  6. 智定义、易调整,火山引擎DataLeap助力企业轻松实现全流程值班管理

     更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎大数据研发治理套件DataLeap全新上线值班管理模块,企业可通过该模块体系化智能化创建值班计 ...

  7. 数据分析引擎百花齐放,为什么要大力投入ClickHouse?

    更多技术交流.求职机会.试用福利,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年来,OLAP产品的竞争日渐激烈,目前企业间流行的既有Impala.Greenplum等上一代较为成熟 ...

  8. 火山引擎DataLeap的Data Catalog系统公有云实践 (下)

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 Data Catalog公有云遇到的挑战 Data Catalog经历了一个从0到1在火山引擎公有云部署并逐步优化 ...

  9. display:none和overflow:hidden的区别

    1.display:none 当将一个元素的display属性设置为none时,该元素将不会显示在网页中,并且不会占据任何空间.也就是说,该元素会完全隐藏,其他的元素会立即占据它原来的位置.该属性适用 ...

  10. 深挖 Python 元组 pt.2

    哈喽大家好,我是咸鱼 在<深挖 Python 元组 pt.1>中我们了解 Python 元组的一些概念(索引和切片等),以及如何创建元组,最重要的是我们还介绍了元组的不可变特性 那么今天我 ...