标签:
postgresql的升级方式有两种 一种是使用 pg_dumpall 备份后 导入至新版本即可。
另一种就是本文使用pg_upgrade方式升级 是从文件级别将 老的数据库文件 复制至新的版本中
升级前请备份重要数据 最好在测试环境测试后再升级
系统: centos6.x x86 已安装 postgresql 9.3
首先安装postgresql 9.4
yum install -y http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
yum install -y postgresql94-server postgresql94-contrib
初始化数据库
/etc/init.d/postgresql-9.4 initdb
首先 需要关掉postgresql9.3
/etc/init.d/postgresql-9.3 stop
切换至postgres 用户
su - postgres
执行升级命令
/usr/pgsql-9.4//bin/pg_upgrade -v -d /var/lib/pgsql/9.3/data/ -D /var/lib/pgsql/9.4/data/ -b /usr/pgsql-9.3/bin/ -B /usr/pgsql-9.4/bin/
选项: -b 老版本bin目录
-B 新版本目录
-d 老版本data目录
-D 新版本data目录
升级成功后会提示如下信息:
Upgrade Complete ---------------- Optimizer statistics are not transferred by pg_upgrade so, once you start the new server, consider running: analyze_new_cluster.sh Running this script will delete the old cluster‘s data files: delete_old_cluster.sh
切换到root 启动9.4
/etc/init.d/postgresql-9.4 start
切换到postgres 执行如下脚本
sh analyze_new_cluster.sh
删除老版本数据目录(可选)
sh delete_old_cluster.sh
数据的升级到此就结束了,不过若你更改过pg_hba.conf 或者其它配置文件 别忘记去新版本中更改
参考: http://www.postgresql.org/docs/9.4/static/pgupgrade.html
pg_dumpall 升级见: http://www.postgresql.org/docs/9.4/static/upgrading.html
postgresql 源: http://yum.postgresql.org/repopackages.php
postgresql 9.3 安装见 http://my.oschina.net/firxiao/blog/295027
标签:
原文地址:http://my.oschina.net/firxiao/blog/417512