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

地址

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

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

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

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

根据 搜索下来安装即可

注意现在最新版本是 12.3

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

  1. yum localinstall *.rpm

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

3. 查看数据库服务

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

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

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

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

  1. [Unit]
  2. Description=PostgreSQL 12 database server
  3. Documentation=https://www.postgresql.org/docs/12/static/
  4. After=syslog.target
  5. After=network.target
  6.  
  7. [Service]
  8. Type=notify
  9.  
  10. User=postgres
  11. Group=postgres
  12.  
  13. # Note: avoid inserting whitespace in these Environment= lines, or you may
  14. # break postgresql-setup.
  15.  
  16. # Location of database directory
  17. Environment=PGDATA=/var/lib/pgsql/12/data/
  18.  
  19. # Where to send early-startup messages from the server (before the logging
  20. # options of postgresql.conf take effect)
  21. # This is normally controlled by the global default set by systemd
  22. # StandardOutput=syslog
  23.  
  24. # Disable OOM kill on the postmaster
  25. OOMScoreAdjust=-1000
  26. Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
  27. Environment=PG_OOM_ADJUST_VALUE=0
  28.  
  29. ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA}
  30. ExecStart=/usr/pgsql-12/bin/postmaster -D ${PGDATA}
  31. ExecReload=/bin/kill -HUP $MAINPID
  32. KillMode=mixed
  33. KillSignal=SIGINT
  34.  
  35. # Do not set any timeout value, so that systemd will not kill postmaster
  36. # during crash recovery.
  37. TimeoutSec=0
  38.  
  39. [Install]
  40. WantedBy=multi-user.target

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

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

4. 初始数据库

  1. 切换到PG的用户
    su - postgres

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

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

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

  1. systemctl enable postgresql-12 && systemctl restart postgresql-12

6.修改数据库密码.

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

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

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

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

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

  1. max_connections = 1000

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

  1. 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. WSDM Cup 2020大赛金牌参赛方案全解析

    近日,在美国休斯敦闭幕的第13届网络搜索与数据挖掘国际会议(WSDM 2020)上,华为云语音语义创新Lab带领来自华南理工大学.华中科技大学.江南大学.武汉大学的四位学生组成的联合团队"X ...

  2. 高并发中,那些不得不说的线程池与ThreadPoolExecutor类

    摘要:从整体上认识下线程池中最核心的类之一--ThreadPoolExecutor,关于ThreadPoolExecutor的底层原理和源码实现,以及线程池中的其他技术细节的底层原理和源码实现. 本文 ...

  3. WebKit三件套(1):WebKit之WebCore篇

    导语: Chrome浏览器的代码量其实是非常庞大的,要想对其有深入的理解,仅仅编译编译调试调试,是很难深入下去的.让我们还是从其主要部分如多进程管理通信.WebKit.V8.Skia.WinHttp. ...

  4. app上架一直显示审核中状态要怎么处理?

    ​ 当你提交一个应用到App Store上时,它会经历一个审核过程.在这个过程中,苹果的审核人员会检查你的应用是否符合苹果的规定和标准.这个过程通常需要几天的时间,但是如果你的应用一直显示" ...

  5. 开心档之MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...

  6. pyinstaller打包多线程代码,运行死循环?

    描述现象 用pyinstaller打包了一个上传文件的脚本,里面有多个input在while循环内,然后启用了多线程上传,在编辑器中运行没问题,但是打包完后,就一直循环提示你input... 解决 在 ...

  7. python jira 读取表数据批量新建子任务

    小李在Jira中处理任务时,发现一个表格数据很有趣.他决定为每一行数据创建一个新的子任务.他复制粘贴,忙得不亦乐乎.同事小张路过,好奇地问:"你在做什么?"小李得意地回答:&quo ...

  8. Gcc内置原子操作__sync_系列函数

    Gcc内置原子操作__sync_系列函数简述及例程 Gcc 4.1.2版本之后,对X86或X86_64支持内置原子操作.就是说,不需要引入第三方库(如pthread)的锁保护,即可对1.2.4.8字节 ...

  9. CNS0项目创建交货单增加销售办事处

    1.业务需求 1.1.销售办事处介绍 销售办事处是指在企业中负责销售活动的区域性单位或部门.在SD模块中,可以表示企业的不同销售地点.销售办公室.分销中心或分公司. 销售办事处扮演着多种角色和职责,例 ...

  10. 【JAVA基础】日志管理

    LOGGER.debug("Request uri: {}, headers: {}", signedRequest.getURI(), signedRequest.getAllH ...