大版本升级,例如 PostgreSQL 9.1 升级到 9.2 可以使用 pg_dump/pg_restore
,或者 pg_upgrade
来完成,相比大版本升级,小版本升级的过程要简单得多。下面以 PostgreSQL 9.2.0 升级到 9.2.1 为例,以编译安装方式为例,简单介绍小版本升级的步骤(不同小版本升级要求不同,具体看Release Note):
手册说明
As with other minor releases, to apply this update release you may simply shut down PostgreSQL, update its binaries and restart. Users upgrading between major versions will need to dump and reload their database or use pg_upgrade. Users of older versions who have skipped multiple update releases may need to perform additional post-update steps; see the Release Notes for each version for details.
备注:对于小版本的升级,手册中描述了需要关闭 PostgreSQL 服务,替换二进制文件,并重启。描述是简单的,下面通过实验操作一次。
Release NOTE
E.1.1. Migration to Version 9.2.1
A dump/restore is not required for those running 9.2.X.
However, you may need to performREINDEXand/orVACUUMoperations to recover from the effects of the data corruption bug described in the first changelog item below.
环境信息
1 |
[pg92@redhatB ~]$ echo $PGHOME |
备注:以上是 PostgreSQL 9.2.0 版本,目标升级到 9.2.1。
升级步骤
- 下载并安装 PostgreSQL 9.2.1 新版本程序到新目录,包括 configure,gmake,gmake install 步骤。
- 停原 PostgreSQL 服务。( pg_ctl stop -m fast -D $PGDATA )
- 修改 $PHOME 环境变量,指向新版本的 PG,本例是 /opt/pgsql9.2.1
- 使用新版本的 PostgreSQL 程序启动服务( $PGDATA 和原来一样)。
- 升级完版本后,最好是重建下库里的 btree 和 gin 索引。
备注:先新安装 PG 新版本程序,再升级,这种方法停库的时间比直接覆盖原 $PGHOME 安装方式的时间更短,省略了安装的时间。
升级后验证
1 |
[pg92@redhatB pg_log]$ echo $PGHOME |
备注:致此升级成功,特殊情况需要重建索引。
参考
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/237901.html