PostgreSQL 快速靠谱的跨大版本升级

标签

PostgreSQL , pg_upgrade , 跨版本升级 , 原地升级 , 快速


背景

已使用pg_upgrade顺利将一个8TB的生产数据库(包含表, 索引, 类型, 函数, 外部对象等对象大概10万个)从9.3升级到9.4, 升级比较快(约2分钟), 因为数据库较大后期analyze的时间比较长, 不过你可以将常用的表优先analyze一下, 就可以放心大胆的提供服务了.

PostgreSQL 9.4于(2014-12-18)正式发布, 为了让大家可以快速的享受9.4带来的强大特性, 写一篇使用zfs和pg_upgrade升级9.4的快速可靠的文章. 希望对大家有帮助.

提醒:

在正式升级9.4前, 请做好功课, 至少release note要阅读一遍, 特别是兼容性. 例如有些应用可能用了某些9.4不兼容的语法或者插件的话, 需要解决了再上. (以前就有出现过版本升级带来的bytea的默认表述变更导致的程序异常)

pg_upgrade支持从8.3.x以及更新的版本的跨大版本升级, 使用LINK模式, 可以减少数据的拷贝工作, 大大提高版本升级的速度.

本文将演示一下使用pg_upgrade将数据库从9.3.5升级到最新的9.4.

使用zfs快照来保存老的数据文件和软件. 如果升级失败, 回滚非常简单, 回退到ZFS快照或者使用ZFS快照克隆都可以.

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

实际上,使用备库来进行升级演练,把流程都跑通,是很不错的选择。ZFS则是加一道保险,或者说方便多次(克隆ZFS进行演练)演练。

pic

升级步骤简介

1、假设主机已是基于ZFS

  停库  
  
  创建快照  
  
  使用upgrade升级  

2、假设主机不是基于ZFS

  创建ZFS主机  
  
  创建PostgreSQL物理standby  
  
  主备角色切换,把主库切到ZFS主机下。  
  
  以下基于新的主库操作:  
  
  停主  
  
  创建快照  
  
  使用upgrade升级  

3、如何把老版本的standby升级成为9.4 standby?

  pg start backup  
  
  rsync 数据文件  
  
  pg_stop_backup  
  
  创建recovery.conf 继续.  

使用ZFS和pg_upgrade升级9.4的详细步骤

以CentOS 7 x64为例,

测试环境部署

安装zfs

http://download.fedoraproject.org/pub/epel 找到最新的epel7 rpm包, 加入YUM仓库.

例如当下版本如下 :

原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值