Aiven for PostgreSQL®现在会自动重新创建逻辑复制槽
Aiven for PostgreSQL® 现在可以自动重新创建逻辑复制槽。
2023年1月13日 can be paraphrased as “二零二三年一月十三日” in Chinese.
Aiven for PostgreSQL® 现在可以自动重新创建逻辑复制槽。
现在在维护或故障转移时不再担心丢失逻辑复制槽!请查看此处以了解详细信息。
故障转移的痛苦
PostgreSQL®集群的主节点发生故障,并且按计划被新的主节点取代… 但是,与复制槽的连接断开,其他系统无法从新的主节点读取数据。例如,如果PostgreSQL®充当长期存储,Apache Kafka®负责数据的输入和输出,如果不设置新的复制槽,Kafka将无法从新的主节点读取数据。
要创建和连接新的逻辑复制槽需要一些时间。为了确保新的条目不会被写入,您需要关闭 PostgreSQL 对来自系统其他位置的访问,或者重新同步整个集群以确保条目不会被删除。
然后,每个主要的事项都需要进行这个步骤。
然而在Aiven上,这个麻烦已经成为过去。在2022年12月,Aiven发布了一个新功能,即在进行Aiven for PostgreSQL的故障转移和受控切换时,自动重新创建逻辑复制槽。
逻辑复制插槽
PostgreSQL®可以为服务器的订阅者设置逻辑复制槽,订阅者通过拥有复制槽可以接收数据库数据的更改。
这个设置的问题在于它依赖于复制槽,如果主节点宕机,就会导致数据的间隔产生或者需要重新加载数据库的庞大块。
在故障转移或切换之后,需要重新创建槽位并重新连接所有的下游订阅者。如果手动执行此操作,订阅者将会在此过程中失去数据库中写入的所有数据。虽然可以通过完全重新同步数据库来减轻此问题,但用户将会遭遇停机时间。
不再有间隙也不再完全同步
Aiven for PostgreSQL已经实现了PG集群复制槽的自动重新创建。当多节点集群的主节点失效时,无论是意外故障切换还是受控切换,Aiven将会自动将复制槽从旧的主服务器重新创建到新的主服务器上。对于单节点集群,复制槽将在受控切换时重新创建。
通过为新节点作为备用或主要升级创建复制槽并持续同步它们的位置来实现。当发生故障切换或切换时,备用节点已经具有相同的复制槽,并且位置是最新的(精度为5秒)
在节点上重新创建槽位之前,首先将其晋升为主要槽位并开始连接到复制品和其他系统。
应用于复制插槽的自动重新创建
您的Aiven for PostgreSQL数据库将在下次维护期间的服务器重用时享受到这项新功能的好处(为避免影响到您的环境,我们将不会对已经运行的节点进行任何操作)。因此,在下次维护更新中,您将最终丢失复制插槽,之后自动复制将开始运作。
当然,这项新服务从一开始就具备了这个新功能!
まとめ
Aiven for PostgreSQL集群管理更加简单。在切换或故障恢复后,新的主节点将拥有与旧主节点相同的复制槽,其他系统可以无缝地从新的主节点恢复读取。
请参考文档了解这个新功能的详细信息:我们提供了升级和故障转移的步骤。
要获取Aiven和我们的服务的最新消息,以及有关开源的一些小资讯,请订阅我们的月刊新闻通讯!有关Aiven的日常新闻可以在LinkedIn和Twitter的动态中查看。
如果您想了解服务的更新信息,请查看更改历史。