一、背景
更新前使用的postgres版本是9.3版本,官方不再支持了. 基于IT安全的要求,需要升级到更高版本,于是打算升级到10.11版本
升级生产环境的数据库版本,一定得慎重再慎重,不然随便出了一点小问题,线上的应用就没办法使用了,而我也是一次升级Postgres,就更加得小心翼翼了. 首先,肯定得参考官方文档,然后在自己的服务器上做测试
在实际操作中,由于是第一次更新数据库,所以遇到的问题还是挺多的,花费了大量时间,因此记录下,也给之后需要升级postgres的同学们排坑!需要注意的是:虽然我测试了几遍数据库更新的过程,但是在实际更新时,还是存在各种各样的问题,导致更新花了很长时间,所以这类升级操作需要在周末进行(也就是免费加班,啊哈哈哈)
二、更新步骤
需要说明的是,postgres升级和一般的软件升级有点不同,一般的软件升级都是直接进行升级,而postgres相当于是安装一个新版本,然后将旧版本的数据迁移到新版本中. 因为postgres部署在windows服务器上,所以相比于部署到linux服务器上更加的麻烦
1.下载10.11版本的postgres
2.停掉老版本的postgres,并安装新版本的postgres( 如果不停掉老版本的postgres,新版本在安装时,端口会存在问题,安装过程其实是一个初始化过程,也可以使用命令去初始化),安装成功后停掉postgres服务(安装成功会自动注册到service中)
3.将两个版本的/data/pg_hba.c