Postgresql顺滑升级步骤(11升级到14)

news2024/11/17 23:57:55
  • 首先下载pgsql14的源码包进行安装:

yum install postgresql14 –y

yum install postgresql14-server -y

附带安装

yum install postgresql14-libs

yum install postgresql14-contrib

yum install postgresql14-devel

注:如果旧版本装了插件,新版本也需要装相应的插件,但是不要执行CREATE EXTENSION命令,因为会从旧数据库中进行升级

  • 创建数据目录

使用yum安装后,默认会安装在/usr/pgsql-14目录下。

会在系统中创建一个postgres的无密码用户。

postgres账户设置密码:passwd postgres

然后创建一个数据目录,该目录将存放所有的配置文件、数据库文件和日志文件

mkdir -p /usr/pgsql-14/data
赋权:
chown -R postgres:postgres /usr/pgsql-14

  • 初始化数据库

PostgreSQL的安装目录默认存放在/usr/pgsql-14,使用下面的命令初始化数据库目录:

使用postgres用户执行:su - postgres

/usr/pgsql-14/bin/initdb -D /usr/pgsql-14/data

  • 版本升级
  1. 关闭新旧数据库服务

先按ctrl+D键退出postgres用户

关闭新版本:
systemctl stop postgresql-14
关闭旧版本:
systemctl stop postgresql-11

      2.通过pg_upgrade命令升级

      3.通过 pg_upgrade 执行升级操作,使用数据库专用用户(通常是 postgres)执行以下操作:

su - postgres

cd /usr/pgsql-14/bin

先检查一遍新旧数据库是否存在不兼容情况,若兼容则会全部显示ok如下图,如果有异常,会报错,执行脚本:

/usr/pgsql-14/bin/pg_upgrade --old-datadir /var/lib/pgsql/11/data/ --new-datadir /usr/pgsql-14/data/ --old-bindir /usr/pgsql-11/bin/ --new-bindir /usr/pgsql-14/bin/ --check

 

全部ok可执行升级:

/usr/pgsql-14/bin/pg_upgrade --old-datadir /var/lib/pgsql/11/data/ --new-datadir /usr/pgsql-14/data/ --old-bindir /usr/pgsql-11/bin/ --new-bindir /usr/pgsql-14/bin/

 这样就升级成功了

  • 启动新版本
  1. 先按ctrl+D键退出postgres用户
  2. 启动pg14 

systemctl start postgresql-14

报错了

解决办法:

按照提示执行systemctl status postgresql-14.service

 

 

发现这个配置文件存在问题,使得pg无法正常

那么找到此文件/usr/lib/systemd/system/postgresql-14.service进行修改:

Environment=PGDATA=/usr/pgsql-14/data/改为自己data目录地址

修改后保存文件,并重新加载:systemctl daemon-reload

/usr/pgsql-14/data目录下修改配置文件:

#修改postgresql.conf
1. listen_addresses = '*'
2. port = 5432
#修改pg_hba.conf
# "local" is for Unix domain socket connections only
local   all             all                                  trust
# IPv4 local connections:
host    all             all             0.0.0.0/0            md5

重新启动:systemctl status postgresql-14.service

启动后验证版本:

 升级或安装过程中或遇到其他错误,不要着急,遇到错误去一个个查找并解决问题,总会成功的。

附上一些坑会用到的操作:

centos7 安装postgresql11:centos7 安装postgresql11 - 简书

配置postgresql可参考:https://blog.csdn.net/gaokcl/article/details/95041127

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生态环境影响评价制图流程

生态现状评价内容中基本图件构成包含:项目区域地理位置图、工程平面图、调查样方、样线、点位、断面等布设图、土地利用现状图、地表水系图、植被类型图、植被覆盖度图、归一化植被指数图、生态系统类型图、土壤侵蚀图、物种适宜生境分布图等。 介绍 2.2.遥感常用数…

基于微信小程序的核酸检测系统源码

开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具 技术说明: springboot mybatis 小程序 代码注释齐全,没有多余代码,适合学习(毕设)&#…

动态自适应可变加权极限学习机ELM预测算法附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Vue(十)——页面路由(2)

目录 router-link的replace属性 编程式路由导航 缓存路由组件 两个新的生命周期钩子 路由守卫 全局守卫 独享守卫 组件内守卫 路由器的两种工作模式 hash模式 history模式 router-link的replace属性 浏览器历史记录的操作模式:push模式 对历史记录的操作…

视频编解码之理论概述

本文主要讲解实时音视频技术中视频技术的编解码基础理论。 1、视频为何需要压缩? 未经压缩的数字视频的数据量巨大存储困难:一张DVD只能存储几秒钟的未压缩数字视频。传输困难 1兆的带宽传输一秒的数字电视视频需要大约4分钟。2、主要压缩了什么东西&am…

【Pytorch with fastai】第 12 章 :从零开始的语言模型

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

[附源码]SSM计算机毕业设计8号体育用品销售及转卖系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【机器学习】机器学习知识点全面总结(监督学习+无监督学习)

目录:机器学习知识点全面总结一、监督学习1.1 单模型1.1.1 线性回归1.1.2 逻辑回归1.1.3 Lasso1.1.4 K近邻(KNN)1.1.5 决策树1.1.6 bp神经网络1.1.7 支持向量机(SVM)1.1.8 朴素贝叶斯1.2 集成学习1.2.1 Boosting1.2.1.1 GBDT1.2.1.2 Adaboost1.2.1.3 XGBoost1.2.1.4…

防火墙NAT配置实验

目录 一、NAT的种类 分为基于源IP的转换 基于目的的IP转换 外部用户找内部服务器 二、实验拓扑 登陆防火墙 三、配置NAT 配置接口 实验一 配置no-pat NAT 测试no-pat 实验二 NAPT配置 NAPT测试 实验三 配置Easy ip 实验四 配置NAT sever 测试Nat Sever 一、NAT的种…

C++类构造函数和析构函数

11.3 类构造函数和析构函数 构造函数:是为了在定义对象时自动初始化其成员变量的值。 构造函数没有返回值,也没有被声明为void类型;因此,构造函数没有声明类型。 11.3.1 声明和定义一个构造函数 构造函数原型:在这…

windows安装配置git和ToriseGit

目录1、下载安装git2、下载安装ToriseGit3、配置ToriseGit4、公司钥生成1、下载安装git 下载地址 安装:所有都按照默认,直接next就行 2、下载安装ToriseGit 下载地址 下图中两个都要下载,第二个是语言包 安装: 1、先安装主程…

C++行为型模式-职责链模式

1.1 基本概念 职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这类对象链接成一条链,并沿着这条链传递请求,直到有对象处理它为止。 1.2 …

Neural Collaborative Filtering论文笔记

ABSTRACT 深度神经网络在语音识别、计算机视觉和自然语言处理等方面取得了巨大的成果,但是对于推荐系统尚且缺少。虽然即使有用深度学习作为推荐,但是都是对建模起辅助作用。当涉及到用户和项目之间的交互,都会选择流行的矩阵分解&#xff0…

三、react组件的生命周期

目标 灵活掌握react组件的生命周期以及组件的活动过程。 能够灵活使用react的生命周期 知识点 react的类组件的生命周期分为三个阶段 实例期存在期销毁期 实例期在组件第一次被实例化的时候触发一次,在这个过程中会执行的生命周期函数如下: construct…

2、CKA-简单搭建K8s集群

基础环境: 主机IP资源系统主机名192.168.100.1104核8GCentos8K8s-master192.168.100.1204核8GCentos8K8s-node1192.168.100.1304核8GCentos8K8s-node2 推荐一个小网站:https://labs.play-with-k8s.com/ 其他的废话不多说,直接部署起来先~~ 部…

[附源码]Python计算机毕业设计 校园疫情防控系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

校企合作,人才共育|湖南工程学院第二期万应低代码实训营圆满收官

2022年11月11日,湖南工程学院第二期万应低代码实训营圆满收官,来自湖南工程学院计算机与通信学院(人工智能产业学院)的47位同学经过为期9天、共计51课时的培训课程,用出色的交付成果顺利结业。湖南工程学院计算机与通信…

最简单的git图解(最基本命令)

git clone: 这个命令用于将远程代码仓库克隆到本地,这是对任何项目进行开发前的第一步。 比如你本地本来并没有某个项目的代码仓库,此时随便找一个文件目录并进入cmd命令窗口,执行命令git clone [remote address],[remote addres…

春节静态HTML网页作业模板 传统节日文化网站设计作品 静态学生网页设计作业简单网页制作

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

python计算长方形面积 青少年编程电子学会python编程等级考试一级真题解析2022年6月

目录 python计算长方形面积 一、题目要求 1、编程实现 2、输入输出