Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作方法

最近 PostgreSQL 15 版本正式发布了,新版本的各种特性和好处本文就不展开介绍了,主要介绍一下 Windows 环境下 PostgreSQL 大版本升级的方法,我们现在的几个数据库都是运行在 Windows服务器的 PostgreSQL 14,
首先准备一份新版本的 PostgreSQL 初始化,并调整好所有设置,关于这一步其实和安装一个全新的 PostgreSQL 操作差不多,可以看我之前 的一篇博文 Windows 系统 PostgreSQL 手工安装配置方法
不过在操作的时候对于新版本的PostgreSQL只要初始化之后,调整好对应的 postgresql.conf 就可以了,不需要去执行安装服务那些步骤,我们只需要一个调整好设置的 postgreSQL 实例就可以了,甚至都不需要启动它。

这个就是我们从 PostgreSQL官网下载的一份最新版的 PostgreSQL15 的压缩包,我们首先初始化实例

initdb -D "C:\Software\PostgreSQL15\data" -E UTF8 -U postgres --locale="Chinese (Simplified)_China.936" --lc-messages="Chinese_China.936" -A scram-sha-256 -W

这里需要注意的一个点是,设定密码时最好和老版本的实例 postgres 账户密码保持一致,实例化的时候参数中传递的编码格式 如 Chinese (Simplified)_China.936,Chinese_China.936 这些一定要和原来老版本的实例最好保持一直,密码加密格式最好也是和老版本的实例保持一直如 scram-sha-256,实例化之后根据自己的需要把 postgresql.conf 文件中的配置参数按照老版本中改动过的地方按照自己需求再调整一次,然后把 pg_hba.conf 直接复制到新版本中,原则就是新老版本尽量保持配置一致。

准备好这些之后就可以开始升级操作了,首先关闭老的实例,确保新老版本的两个实例都没有启动,都在关闭状态。

net stop PostgreSQL

检查新老实例版本所在的文件夹,我们的账户是都有完整的全部权限,我这里 cmd 命令是以 Administrator 账户运行的,所以我为两个文件夹都赋予了 Administrator 的完整权限

然后在新版本的 bin 下执行如下命令 cmd环境

cmd
set PGPASSWORD=xxxxxx (xxxx为postgres 的密码)
pg_upgrade -b "c:\Software\PostgreSQL\bin" -B "c:\Software\PostgreSQL15\bin" -d "c:\Software\PostgreSQL\data" -D "c:\Software\PostgreSQL15\data" -U postgres

注释:> pg_upgrade -b "旧的bin目录" -B "新的bin目录" -d "旧的data目录" -D "新的data目录" -U postgres

像上图的状态,就说明我们的升级命令运行成功了。
命令执行完成之后记得直接关闭 cmd 窗口。否则后面修改实例名称时会提示有占用。

这个时候我去把原来老的实例,修改一个名字,比如我这里老的实例原本路径为 C:\Software\PostgreSQL,我们修改这个文件夹名称为 C:\Software\PostgreSQL14 ,然后修改我们新版本的实例路径 C:\Software\PostgreSQL15 为 C:\Software\PostgreSQL 其实就是调整一下两个实例文件夹的名字,重命名一下。
重命名调整好之后,就可以启动我们的 PostgreSQL 服务了。

net start PostgreSQL

启动之后切换到再次进入到 bin 目录运行

cmd
set PGPASSWORD=xxxxxx (xxxx为postgres 的密码)
vacuumdb -U postgres --all --analyze-in-stages

如果原先老的实例中有部分数据库用到了一些扩展比如 postgis 等,还需要执行一个扩展的升级命令如下:

psql --username postgres --file update_extensions.sql postgres

至此 Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git

到此这篇关于Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作方法的文章就介绍到这了,更多相关Windows PostgreSQL升级内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • windows PostgreSQL 9.1 安装详细步骤

    PostgreSQL安装: 一.windows下安装过程 安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下: 1.开始安装: 2.选择程序安装目录: 注:安装 PostgreSQL 的分区最好是 NTFS 格式的.PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改.此外,PostgreSQL 所使

  • Windows下Postgresql下载与配置方法

    注意下载的是二进制版,不是带Windows Installer的,即绿色版本 http://www.enterprisedb.com/products-services-training/pgbindownload x86下载:postgresqwindows x64下载:postgresqwindowsx64 执行下列步骤前,暂作以下假定: PostgreSQL拟装在d:\postgresql 数据库以后拟存放在d:\postgresql\data 首先下载postgresql-9.2.4-1

  • Windows下Postgresql数据库的下载与配置方法

    注意下载的是二进制版,不是带Windows Installer的. http://www.enterprisedb.com/products-services-training/pgbindownload x86下载http://get.enterprisedb.com/postgresql/postgresql-9.2.4-1-windows-binaries.zip x64下载http://get.enterprisedb.com/postgresql/postgresql-9.2.4-1-

  • 在windows下手动初始化PostgreSQL数据库教程

    环境:win7 64 sp1 PG:9.3.5 1.创建用户postgres,密码同样是postgres: net user postgres postgres /add 2.在数据库根目录下建立data目录: C:\Program Files\PostgreSQL\9.3>md data 3.去掉administrator对data目录的权限: C:\Program Files\PostgreSQL\9.3>cacls data /e /t /r administrator 处理的目录: C

  • Windows 系统 PostgreSQL 手工安装配置方法

    自从2020年底开始接触 PostgreSQL 以来就喜欢上了这个数据库,个人感觉比 MySQL 好用,多表联合查询性能好很多,同时也不存在 SQLServer 的版权授权费用问题.搭配 .NET 开发很好用,目前手里的项目全部都是采用 PostgreSQL 进行数据支撑的. 本文主要说一下在 Windows 系统中安装 PostgreSQL 的方法,我这里没有采用 exe 安装包的形式去安装,EDB 发布的那个 exe 安装包形式的对于中文环境数据库的排序规则设定有问题,所以我采用了官方 ZI

  • Windows上PostgreSQL安装配置教程

    PostgreSQL的扩展PostGIS是最著名的开源GIS数据库. 安装PostgreSQL是第一步. 1.下载PostgreSQL的二进制安装文件. PostgreSQL官网–>Download–>Windows 64位,如图所示: (1)官网: https://www.postgresql.org/ (2)Download: https://www.postgresql.org/download/ https://www.postgresql.org/download/windows/

  • Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作方法

    最近 PostgreSQL 15 版本正式发布了,新版本的各种特性和好处本文就不展开介绍了,主要介绍一下 Windows 环境下 PostgreSQL 大版本升级的方法,我们现在的几个数据库都是运行在 Windows服务器的 PostgreSQL 14,首先准备一份新版本的 PostgreSQL 初始化,并调整好所有设置,关于这一步其实和安装一个全新的 PostgreSQL 操作差不多,可以看我之前 的一篇博文 Windows 系统 PostgreSQL 手工安装配置方法不过在操作的时候对于新版

  • 利用java开发简易版扫雷游戏

    1.简介 学了几周的Java,闲来无事,写个乞丐版的扫雷,加强一下Java基础知识. 2.编写过程 编写这个游戏,一共经历了三个阶段,编写了三个版本的游戏代码. 第一版:完成了扫雷游戏的基本雏形,实现了游戏的基本功能,游戏运行在cmd黑窗口中,以字符绘制游戏界面,无图形化窗口,通过控制台输入字符完成游戏控制.代码放置在一个java文件中,代码的可读性以及可扩展性都比较差. 第二版:在第一版实现基本功能的基础之上,对游戏代码进行重构,根据各部分的功能创建多个类,增加代码注释,提高代码的可读性以及可

  • 利用Python编写简易版德州扑克小游戏

    目录 德州扑克简要介绍 什么是德州扑克 游戏规则简要介绍 德州扑克游戏的python实现过程 游戏初始化 评选赢家 游戏主题函数 游戏体验与展示 模块不足与后续改进 德州扑克简要介绍 什么是德州扑克 德州扑克不知道大家是否玩过,它是起源于美国的得克萨斯州的一种博弈类卡牌游戏,英文名叫做Texas Hold’em Poker.玩法上又分为常规桌(Cash, 现金局),单桌赛(SNG)和多桌锦标赛(MTT).虽然扑克种类繁多,但基本的扑克规则通常保持一致.它是一种考验心态与谋略的游戏. 游戏规则简要

  • windows server2016安装MySQL5.7.19解压缩版教程详解

    记录了MySQL 5.7.19 winx64解压缩版安装教程,具体内容如下 系统环境:Win7 x64 软件准备:mysql 5.7.19 winx64 下载网址:https://dev.mysql.com/downloads/mysql/ 配置安装流程 具体安装如下: 1.把 mysql-5.7.19-winx64.zip 压缩文件解压到 C:\MySQL\ 目录下: 2.在 C:\MySQL\ 目录下新建 my.ini 配置文件: 3.用文本编辑器或其他编辑器打开 my.ini 文件,把以下

  • Windows下tomcat安装图文教程(安装版)

    下载tomcat安装文件,官方下载地址是:http://tomcat.apache.org/,本文以tomcat-7.0.26版本为例进行安装过程的说明: Windows下tomcat安装图文教程 1.双击apache-tomcat-7.0.26.exe开始tomcat的安装,见图1. 图1 2.点击Next,进入第二步,同意它的安装协议条款,见图2,点击I Agree继续安装. 图2 3.选择安装选项,默认是Normal,可以看图3,点开Tomcat,选中Service,以后将可以在管理的服务

  • Windows下MySQL8.0.11社区绿色版安装步骤图解

    在本教程中使用MySQL最新的MySQL服务8.0.11的社区绿色版本进行安装,绿色版为zip格式的包,安装分为以下四步走: 第一步: 下载MySQL社区绿色版服务包 第二步: 新建并配置MySQL的初始化" my.ini "文件 第三步: 使用安装命令进行安装,安装完成后进行初始化 第四步: 启动MySQL服务 第五步: 登陆,修改密码后再登录 第一步: mysql-8.0.11-winx64位绿色版CSDN下载 https://download.csdn.net/download/

  • 利用c++编写简易版2048小游戏

    目录 1.程序初始化 2.画图操作 3.字符控制 4.判断游戏结束和游戏胜利 别的不多说,先上效果图 我们都知道2048是个4 4的方格,为了方便数组下表我们生成5 5的数组,只用到1~4的下标. 初始化时候先随便生成两个目标 1.程序初始化 // 程序初始化 void init() { score = 0; memset(a, 0, sizeof(a)); int x1 = rand() % 4 + 1, y1 = rand() % 4 + 1, x2 = rand() % 4 + 1, y2

  • 利用Matlab编写简易版连连看小游戏

    这是一款MATLAB连连看小游戏,基本实现了连连看的功能,不过目前没有写出死局判定的模块,日后可能会对其进行改进. 游戏截图 游戏组装说明 我们的变量path输入的是图像包的相对路径或绝对路径 这里我们由于文件夹名称就叫“图片”所以直接path='图片’是没啥问题的. 文件夹里就是图片素材啦,其名称没有任何要求,形状最好是方的,不过不是的话问题也不大,程序会自动将其拉伸成方的........ 我们这里要求的是读入jpg格式,想要png,jpg都读的话,.....最简单的就是直接读两次 完整代码

  • Windows Server2008服务器系统的九大特性

    Windows Server 2008的发布已经指日可待,其第一个candidate版也已经发布,正式版也会在不久之后发布. 上一个服务器版本的Windows还是Windows Server 2003,尽管期间微软发布过Windows Server 2003 R2,但是毕竟不是一个独立的新版本.因此,此次即将发布的Windows Server 2008备受微软重视,与Windows Server 2008相关的重大特性也被媒体反复渲染.其中,有很多特性已经为大多数IT专家们所熟悉,比如有关不带图

  • postgresql 利用xlog进行热备操作

    一.验证postgresql增量合并的方案 结果:没有有效可行的增量合并方案,暂时放弃 二.梳理postgresql基于wal的增量备份 物理备份与还原适用于跨小版本的恢复但是不能跨平台 逻辑备份与还原备份数据适用于跨版本和跨平台的恢复 postgersql增量备份步骤 1.首先创建归档目录 例如:归档目录为/archive_pg_xlog/xlog 1>mkdir -p /archive_pg_xlog/xlog 2>chown -R postgres:postgres /archive_p

随机推荐