文章介绍用Spock多主逻辑复制实现PostgreSQL零停机大版本升级:逐节点新建新版本节点,用Zodan的add_node加入集群并同步数据,验证双向复制后迁移流量,再用remove_node下线旧节点。需注意关闭DDL复制时新表未加入复制集、Spock槽需设failover、Patroni会覆盖Spock配置等问题。
文章指出Postgres的ON DELETE CASCADE存在隐患:级联删除会产生大量死元组、索引更新和WAL,并长时间持锁,与迁移的AccessExclusiveLock冲突,导致写入阻塞甚至宕机;未索引的外键会引发全表扫描;逻辑复制下订阅端默认跳过外键触发器,可能产生孤儿行,发布端无replica identity的表也会使删除失败。作者建议改用软删除,先标记deleted_at,再分批清理,保持事务短小可控。
PostgreSQL 19首个候选版已发布,正式版预计11月19日推出,生产环境仍应使用18版。因可靠性优先,SQL属性图查询、分区合并拆分等功能被撤回。新特性包括:REPACK CONCURRENTLY可在线回收表空间,但最终切换仍需排他锁;pg_plan_advice可约束查询计划;autovacuum支持并行索引清理并按评分优先排序;逻辑复制可同步序列值,但发布端须为19版且非持续同步。此外JIT默认关闭。建议在非生产环境用真实负载充分测试。
本文介绍用逻辑复制实现PostgreSQL大版本零停机升级。相比pg_upgrade需停机和pg_dump恢复耗时随数据量增长,逻辑复制通过新库订阅加反向订阅,将停机压缩至约181毫秒写入停顿,且可毫秒级回滚。需处理序列、物化视图、大对象不复制及DDL问题,并借助标记行判断追平。
PlanetScale 数据库创建时需在 ARM 与 x86-64 架构间选择,且创建后无法直接切换。ARM 每 vCPU 为完整核心,适合高并发小查询,能效高、性价比好;x86 单核频率更高,支持 AVX2/AVX-512 宽向量指令,适合少量 CPU 密集型查询。两者磁盘文件不兼容,迁移需逻辑复制。默认推荐 ARM,重查询负载可考虑 x86,建议实测后再决定。
本文回顾PostgreSQL逻辑复制十年演进:从10版引入核心复制,到15版支持行/列过滤、16版支持origin防循环、18版提供冲突计数、19版测试序列复制。作者以“中心-工作节点”架构为例,展示如何用核心功能替代pglogical等扩展,并对比Citus:后者自动化分片与DDL传播,但工作节点无法独立运行,而逻辑复制保留节点自治。
PostgresEDI 八月聚会宣布 postgres.scot 上线,作为苏格兰 Postgres 活动统一入口。会上 Torsten 分享逻辑复制自建数据副本,Paolo 讲解 SQL 缺失值表示。下次聚会定于 9 月 24 日,主题为 ColdFront 冷数据分层至 Iceberg,并继续征集演讲者。
Postgres逻辑复制中,订阅默认关闭流式传输,发布端解码大事务时会在pg_replslot目录生成大量溢出文件,磁盘占用随订阅数成倍增长。将streaming设为on或parallel,可把解码数据直接发送给订阅端,避免发布端磁盘膨胀。Postgres 18已默认parallel,但含TOAST数据时仍可能溢出。
PostgreSQL 17引入故障转移槽同步功能,使逻辑复制槽在备用服务器上保持就绪,减少故障切换后的数据重同步。PostgreSQL 19增强手动同步函数,内置重试和错误分类逻辑,并新增统计列跟踪跳过同步情况。这些改进由富士通团队贡献,简化了高可用逻辑复制环境的管理。
PostgreSQL逻辑复制基于WAL实现实时CDC,通过复制槽跟踪消费进度,发布定义表过滤,WAL发送进程推送变更。需设置wal_level=logical、复制角色和发布,消费者用复制协议流式接收行级变更,可转发至Kafka等系统。
富士通PostgreSQL团队在PostgreSQL 19开发中取得进展,通过83项代码提交和81项评审获得社区认可。团队在逻辑复制领域贡献突出,包括并行应用性能提升25-40%、序列同步、冲突检测及动态调整WAL级别。成员获社区认可,计划继续推动PostgreSQL 20及未来版本发展。
本文介绍使用Aurora Clone与PostgreSQL原生逻辑复制(Pub/Sub)实现Aurora PostgreSQL大版本近零停机升级的方案。以PG13升级至PG17为例,通过创建复制槽、克隆集群、原地升级、推进LSN位点及建立订阅等步骤,将停机时间压缩至分钟级。文章还涵盖高写入量表的并行订阅拆分、回滚保障机制及升级注意事项。
PostgreSQL 19引入了序列同步功能,解决了逻辑复制中序列状态未复制的问题。用户可以通过pg_createsubscriber和pg_upgrade工具实现几乎零停机的升级,确保序列值与数据一致,避免重复键值。用户需在重定向写入前执行ALTER SUBSCRIPTION ... REFRESH SEQUENCES,以确保序列安全同步。这一改进显著提升了在线升级的可靠性。
Postgres 19 解决了逻辑复制中序列未同步的问题,允许在创建和刷新订阅时同步序列值,简化了迁移过程,减少了手动干预。这一改进对数据库迁移和版本升级至关重要。
逻辑复制在PostgreSQL中广泛应用,支持跨版本升级和实时分析,但存在性能瓶颈和功能缺失。贡献者可通过减少延迟、捕捉回归、优化代码和增加用户所需功能来改善逻辑复制。理解各阶段关系对安全有效的贡献至关重要,添加新特性时需考虑向后兼容性,并进行充分测试。
本文介绍了从PostgreSQL 17升级到18的详细指南,强调了升级的重要性和关键细节。PostgreSQL 18引入了优化器统计信息的保留,简化了维护工作。讨论了三种主要的升级方法:pg_dump/pg_restore、pg_upgrade和逻辑复制,并提供了每种方法的优缺点。建议在升级前进行充分的准备和测试,以确保顺利完成升级。
PostgreSQL 19将引入EXCEPT TABLE语法,允许用户在创建出版物时排除一个或多个表,从而避免将这些表的数据发送给订阅者。对于分区表,排除将在根级别应用,未来将支持通过ALTER PUBLICATION管理这些排除项。这一改进将增强逻辑复制的灵活性。
本文讨论了PostgreSQL 19的CommitFest 2026的主要更新,包括分区表的合并与拆分命令、扩展统计信息处理、逻辑复制的WAL动态调整、VACUUM命令的内存使用情况,以及LISTEN/NOTIFY机制的性能提升和字符大小写转换函数的优化。这些改进为未来的优化奠定了基础。
本文回顾了2025年11月的CommitFest,介绍了PostgreSQL 19中的新优化和功能,包括查询计划改进、序列同步、逻辑复制和内存管理。这些新参数和功能提升了查询性能和数据一致性,简化了开发者的工作流程。
SpacetimeDB首次通过PostgreSQL实现视频通话,前端捕获音视频并发送至数据库,实时转发给接收者。逻辑复制确保数据有序,支持视频和音频流,每通话保留5-7秒帧,性能超出预期。
完成下面两步后,将自动完成登录并继续当前操作。