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

2023-10-30

  • 首先下载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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgresql顺滑升级步骤(11升级到14) 的相关文章

  • SQL where 连接集必须包含所有值,但可以包含更多值

    我有三张桌子offers sports和连接表offers sports class Offer lt ActiveRecord Base has and belongs to many sports end class Sport lt
  • 寻找免费的 GUI 工具来使用 PostgreSQL [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 目前 我正在使用独立的 GUI 工具DbSchema http www dbschema com 设计
  • 使用 RMySQL 会干扰 RPostgreSQL

    我有一个 R 脚本 我想从 MySQL 数据库中提取一些数据 然后从 PostgreSQL 数据库中提取一些数据 但是 从 RMySQL 加载 MySQL 驱动程序会阻止我从以下位置加载 PostgreSQL 驱动程序 PostgreSQL
  • Laravel 5.3 Eloquent 事务和外键限制

    我正在从事一个更大的项目 我们在一个 Postgres 数据库中有多个模式 我们在模式之间创建了外键 这是一个例子 gt 我们有公司模式和用户模式 公司模式有company users表 该表对user users表有外键限制 CREATE
  • PostgreSQL:有效地将 JSON 数组拆分为行

    我有一个表 表 A 其中包含一个包含 JSON 编码数据的文本列 JSON 数据始终是一个包含一到几千个普通对象的数组 我有另一个表 表 B 其中有几列 包括数据类型为 JSON 的列 我想从表 A 中选择所有行 将 json 数组拆分为其
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • 对 postgresql 中使用 array_agg 创建的文本聚合进行排序

    我在 postgresql 中有一个表 下表 动物 可以解释我的问题 name tiger cat dog 现在我正在使用以下查询 SELECT array to string array agg name FROM animals 结果是
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • Postgres LIMIT/OFFSET 奇怪的行为

    我正在使用 PostgreSQL 9 6 我有一个这样的查询 SELECT anon 1 id AS anon 1 id anon 1 is valid AS anon 1 is valid anon 1 first name AS ano
  • Postgres < 9.0 的 DO 块相当于什么

    Postgres 8 4 8 相当于什么 DO BEGIN IF NOT EXISTS THEN EXECUTE END IF END create function f returns void as BEGIN IF NOT EXIST
  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • PostgreSQL - 根据另一个单元格值设置默认单元格值

    如果我有一个专栏说column a任何给定值 我想要另一列column b有一个default value根据 的值column a 换句话说 if column a peter then column b default value do
  • 如何在 PostgreSQL 中使用条件和子查询创建唯一索引?

    我使用 PGSQL 并尝试添加下面的索引 CREATE UNIQUE INDEX fk client ON user client fk client WHERE fk client NOT IN SELECT fk client FROM
  • Google App Engine Flexi 上 Django 的 Postgres 设置

    我正在尝试在应用程序引擎灵活环境中使用 postgres 设置 django 我按照这里的说明进行操作 https cloud google com appengine docs flexible python using cloud sq
  • 如何引用下一行的数据?

    我正在 PostgreSQL 9 2 中编写一个函数 对于股票价格和日期的表 我想计算每个条目较前一天的百分比变化 对于最早一天的数据 不会有前一天 因此该条目可以简单地为 Nil 我知道WITH声明可能不应该高于IF陈述 到目前为止 这就
  • Postgres JSONB:数组数组的 where 子句

    postgres 中有 v 9 5 如果有的话 create table json test id varchar NOT NULL data jsonb NOT NULL PRIMARY KEY id 其中 data 是 json 并且包
  • 为 PostgreSQL 查询选择正确的索引

    简化表 CREATE TABLE products product no integer PRIMARY KEY sales integer status varchar 16 category varchar 16 CREATE INDE
  • PostgreSQL - 致命:用户“myuser”身份验证失败[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我刚刚在我的 Ubuntu Box 中安装了 PostGreSQL 我想做的第一件事就是创建一个数据库 我读了文档 http www postgres

随机推荐

  • linux-vmware workstation安装

    环境介绍 闲着没事测试下linux vmware workstation linux vmware workstation安装 1 搭建软件仓库 root gby mount dev sr0 mnt mount mnt WARNING de
  • TRON节点验证交易的时间容忍度

    这篇文章主要介绍深入分析TRON的节点配置文件中vm minTimeRatio和vm maxTimeRatio这两个标志的意义 这两个标志的表示的是节点 包括sr和fullnode 验证区块中智能合约交易的时间比例 时间容忍度 注 sr节点
  • 【java】swagger中api接口传多个参数 @ApiImplicitParam和@ApiImplicitParams

    目录 1 ApiImplicitParam 2 ApiImplicitParams 3 Spring Boot项目中集成Swagger knife4j并自定义访问路径 swagger常用注解使用说明 1 ApiImplicitParam 作
  • PI闭环的FPGA实现

    PID闭环的FPGA实现 1 原理分析 最近小张同学在做项目的时候发现PI闭环的FPGA学习资料很少 秉持着 既然没有轮子 那么自己就造一个的原则 于是乎自己写了个PI的Verilog程序 FPGA中实现PI闭环与DSP STM32 arm
  • docker安装kibana报Kibana server is not ready yet解决

    今天通过docker安装了es集群 想再起一个kibana容器进行管理 安装还算方便 直接联网用docker pull与es同版本的kibana镜像下来启动容器即可 奈何用浏览器访问http 127 0 0 1 5601 时一直报Kiban
  • java synchronized用法

    总结一下synchronized的用法 1 修饰静态方法 2 修饰实例方法 3 修饰代码块 一 首先看一下修饰静态方法和修饰实例方法的区别 直接上代码 synchronized 修饰实例方法 修饰静态方法 public class Sync
  • 第十章 Flink

    1 Flink初识 1 1 数据处理架构的发展和演变 流处理和批处理 流处理对应实时计算 批处理对应离线计算 传统事务处理 传统的事务处理 就是最基本的流处理架构 缺点 传统事务处理对表和数据库的设计要求很高 当数据规模越来越庞大 系统越来
  • python中os模块中文帮助文档

    python中os模块中文帮助文档 翻译者 butalnd 翻译于2010 1 7 2010 1 8 个人博客 url http butlandblog appspot com url 注此模块中关于unix中的函数大部分都被略过 翻译主要
  • kafka面试题02

    kafka 消费者是否从指定偏移量开始消费 可以 通过seek指定偏移量后再开始消费 客户端操作kafka消息是采用poll模式 还是push模式 kafka最初考虑的问题是 customer应该从brokes拉取消息还是brokers将消
  • topaz sharpen ai怎么设置为中文

    topaz sharpen ai是一款非常强大的图片锐化处理工具 采用了先进的人工智能技术 即使在手持 夜间或在浅景深拍摄时也可以创建清晰的图像 但该软件默认是英文语言 不支持简体中文语言 让国内许多用户都无从下手 所以小编带来了topaz
  • Oracle的load_balance和failover

    jdbc oracle thin description TRANSPORT CONNECT TIMEOUT 1 address list load balance off failover on address protocol tcp
  • RC并联电路常见应用总结

    阻容串联电路应用可以参考以下链接 链接 https blog csdn net weixin 45633643 article details 107740111
  • 十分钟掌握Keras实现RNN的seq2seq学习

    作者 Francois Chollet 编译 雁惊寒 seq2seq是一种把序列从一个域 例如英语中的句子 转换为另一个域中的序列 例如把相同的句子翻译成法语 的模型训练方法 目前有多种方法可以用来处理这个任务 可以使用RNN 也可以使用一
  • 使用OpenCV和Python,OCR识别数字

    使用OpenCV和Python OCR识别数字 1 效果图 2 原理 2 1 什么是七段显示器 2 2 识别数字步骤 3 源码 参考 这篇博客将演示如何使用OpenCV和Python识别图像中的数字 该方法只适用于七段显示器 通常在数字闹钟
  • 【ChatGPT】如何让 ChatGPT 不再频繁报错,获取更加稳定的体验?

    文章目录 一 问题描述 二 方案1 使用 OpenAI API Key 来访问 ChatGPT 三 方案2 安装 Chrome 插件 3 1 介绍 3 2 安装步骤 3 2 1 插件 脚本安装 3 2 2 解读功能 一 问题描述 最近一段时
  • uni-app真机运行报错:plus is not defined

    前言 使用un app开发Android和IOS原生应用 在浏览器中调试时 报错 plus is not defined 原因 plus是5 Runtime的内部对象 普通浏览器里没有plus环境 只有HBuilder真机运行 打包后 或流
  • Pycharm安装教程以及Pycharm汉化教程,超级详细

    1 下载安装包 去pycharm官网下载安装包pycharm官网 步骤如下 下载完成后点击安装 2 点击安装包开始安装 到此pycharm安装完成 3 开始使用pycharm 点击安装好的pycharm进入 创建项目 选择项目路径 选择需要
  • openlayer 5 MultiLineString 渲染多颜色

    预览图 public GetTraffficSpeed Observable
  • 使用three.js导入外部glb模型实现一个nft产品

    nft数字藏品大火 各家公司都推出自己的app和小程序 那么炫酷的3D藏品到底如何实现的呢 我们来一探究竟 需求背景 随着各家数字藏品项目上线 我们团队也紧随潮流打算在短期内开发一款数字藏品的产品 主要有哪些需求呢 当然就是别人有什么我们也
  • Postgresql顺滑升级步骤(11升级到14)

    首先下载pgsql14的源码包进行安装 yum install postgresql14 y yum install postgresql14 server y 附带安装 yum install postgresql14 libs yum