PostgreSQL数据库升级

本文介绍了数据库升级的四种常见方法,并详细探讨了PostgreSQL中的升级策略。包括数据格式保持不变、逻辑拷贝导入、数据格式转换及使用逻辑转储等方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:瀚高PG实验室 (Highgo PG Lab)

数据库升级方法

通常情况下,有四种可能的方式来完成数据库的升级工作:

1、第一种方式是让数据库保持他们的存储格式不变或者至少是兼容不同的版本。然而,这种方式很难获得长期的保证,因为新的特征可能需要改变数据存储的方式或者加入更多的元数据信息才能正常工作。而且,性能通常可以通过使数据结构最优化来得以提高。

2、第二种方式是先做一个旧服务器的逻辑拷贝,然后导入到新服务器中。这是一种最传统的方式,但需要旧服务器在这个过程中不接收任何更新,所以会导致长时间的停机时间,可能需要几小时,在大数据库中甚至可能需要花几天的时间。

3、第三种选择是把数据从旧的格式转换为新的格式。这种方式既可以在新系统正在运行时来完成,但是会引起性能代偿,这个很难避免,因为它依赖于数据访问模式;也可以在服务器关闭后离线完成,但这也会导致长时间的停机时间。

4、第四种方法是使用逻辑转储来保存和恢复数据库,捕捉同时发生的变化,然后一旦初始的恢复完成,逻辑复制这些变化到新的数据库中。这种方式要求多个组件之间相编排,但也减少了数据库不能对查询做出响应的时间。

PostgreSQL中的升级方法

PostgreSQL的更新可使用上述的全部四种方法。

例如,PostgreSQL发布了新的副版本,由于它不包含新的特征,只有一些错误修正。那么我们不需要改变已有的数据格式,因此使用第一种方式即可。

对于第二种方法,PostgreSQL提供了一些工具,叫做pg_dumppg_restore。它们用来完成逻辑备份和恢复。

还有一个模块叫做pg_upgrade,它将旧数据目录离线的转换到新的数据目录,这适用于第三种方法。

对于第四种方法来说,有一些第三方的工具可以使用此方法来进行数据库升级。

传统的升级方式只能更新主服务器,备服务器必须在之后重建。这会导致集群的可利用性和性能出现一些附加的问题。所以不同的升级方式适用于不同的环境之中。

逻辑复制升级

物理复制捕捉磁盘上原始数据的变化,而逻辑复制捕捉数据库中个体记录的逻辑变化然后复制这些变化。逻辑记录在主版本之间都可使用,所以逻辑复制可被用于从一个版本升级到另一个版本。

使用逻辑复制作为版本更新的方法已经远不是一个新的思路了,基于触发器的复制工具通过由触发器捕捉和发送变化,使用逻辑方式进行升级。

By Kalath

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值