重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站是一家专注网站建设、网络营销策划、微信平台小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立10年以来,已经为成百上千家成都凿毛机各业的企业公司提供互联网服务。现在,服务的成百上千家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。小编给大家分享一下升级postgresql的方法有哪些,相信大部分人都还不怎么了解,因此分享这边文章给大家学习,希望大家阅读完这篇文章后大所收获,下面让我们一起去学习方法吧!
PostgreSQL在默认情况下,是不能跨版本升级的(9.4, 9.5, 9.6等等这些版本跨版本升级。小版本更新不受影响,比如9.6.1到9.6.2升级不
受影响)。甚至PG为了数据的安全性,高版本不能直接使用低版本创建的数据目录,会在日志中打印相关的错误信息。
dump + restore方案
此方案的原理是使用pg_dumpall命令将旧数据库的全部dump成sql文件,然后使用psql命令还原至高版本的实例中。借助于管道,可以
实现在线升级。配合脚本的话,切换至高版本几乎零宕机。由于dump+restore总体相对耗时较长,因此不适用于大数据量的数据库,或
是写入比较频繁的场景使用。
在线迁移的步骤大致如下:
保持旧的实例与配置运行
新的PG实例配置新的端口或者新的unix socket文件,确保不与旧实例冲突
使用pg_dumpall | psql管道组合命令在线迁移数据
停止旧实例,将新实例的配置修改为旧实例使用的端口,重启服务即可完成迁移
参考命令如下:
sudo -u postgres pg_dumpall -h /path/to/old/instance.sock | sudo -u postgres psql -h /path/to/new/instance.sock
数据倒入完毕之后,停掉旧实例,删除旧数据的数据目录即可。
不需要在线升级的话,也可以先用pg_dumpall把旧实例的数据导出,再更新postgresql,清空数据目录,使用psql还原数据,效果是完
全一样的。
pg_upgrade方案
pg_upgrade命令是直接对旧的数据库目录文件进行升级的方案,直接将旧版本的数据文件格式升级为新版本使用的格式。此方案优势是
速度非常快,但是必须停机升级。因此不适用于7x24的场景。
命令非常简单,同时安装新版本和旧版本的postgresql,停止postgresql实例后执行:
复制集方案
此方案是最平滑的方案,比较适用于7x24小时以及大数据量场景,停机时间非常短,只有几秒钟。缺点和优点同样突出——配置繁琐,
需要有集群环境。
大体的步骤是使用Slony这种复制集方案,先用上述方案升级从库,再升级主库。
以上是升级postgresql的方法有哪些的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!