标签

PostgreSQL

PostgreSQL 18:用 extension_control_path 把扩展安装目录搬出系统目录

来源: postgr.es 56
PostgreSQL 18 为扩展部署增加了 。过去,扩展通常必须放进 PostgreSQL 的系统目录,才能被 找到;现在可以把扩展放在自定义目录中,再通过配置告诉 PostgreSQL 去哪里搜索。 这项变化对容器镜像、无 root 权限部署、同一台机器维护多套 PostgreSQL 版本,以及需要隔离第三方扩展的环境都很实用。扩展不再必须和 Po...

Postgres 19 让手动 CHECKPOINT 从“立即全刷”变成可控操作

来源: postgr.es 39
在 Postgres 19 之前,手动执行 只有一种含义:立即处理所有待写页面,并在检查点完成后才把控制权交还给客户端。备份、升级和基准测试需要这种确定性,但在繁忙系统上,突然集中的写入也可能把存储延迟推高。 Postgres 19 为这条老命令增加了选项列表,并引入 与 。DBA 现在可以选择快速完成、平滑写入,或者明确要求检查点处理 unlogge...

TimescaleDB 2.28.3 发布:修复列存查询、排序转换与触发器问题

来源: oschina.net 61
TimescaleDB 2.28.3 是一次以正确性和稳定性为重点的维护版本。与 2.28.2 相比,新版本包含性能改进,并修复了列式查询执行、排序键转换以及列存超表触发器管理等问题。由于部分缺陷可能直接影响查询结果,生产环境不应只把它当成普通的小版本更新。 本次发布摘要列出的修复集中在列存储相关路径。对时序数据库来说,这类问题尤其敏感:历史数据通常会...

PostgreSQL 的 exit_on_error:看似快速失败,实际会直接销毁会话

来源: postgr.es 55
PostgreSQL 的 看起来像一个干脆利落的故障处理开关:只要会话中出现错误,数据库就立即终止该会话。但它并不只是让当前 SQL “失败得更快”,而是把普通 提升为连接终止事件。随连接一起消失的,还可能包括未提交事务、临时表、会话级配置、预备语句和应用锁。 默认情况下,一条 SQL 发生错误并不等于数据库连接必须断开。在事务外,客户端通常还能继续发...

Spock 6 Beta:把多主复制的进度、冲突与故障恢复拉回 PostgreSQL 内核轨道

来源: postgr.es 60
Spock 6 已进入 Beta,支持 PostgreSQL 16、17、18 和 19。与其说这是一次功能堆叠,不如说它重新整理了多主复制最危险的几条路径:复制进度不再依赖高频目录表写入,超大异常事务可以落盘,节点灾难后能够定位数据分歧,冲突与延迟也有了更直接的统计入口。 对于已经运行 Spock 5 的团队,升级价值主要不在“能否复制”,而在高负载...

Postgres 19 拟默认启用 LZ4:从 TOAST 压缩到 B-tree 大键的完整路径

来源: postgr.es 48
Postgres 19 计划把默认 TOAST 压缩算法从 pglz 改为 LZ4。这不只是替换一个配置默认值:表内行、TOAST 表和索引都使用以 varlena 为基础的统一压缩框架,算法变化会同时影响写入 CPU、存储空间以及大索引键能否写入。 LZ4 从 Postgres 14 起已经可以显式启用。Postgres 19 的变化可以理解为一次谨...

用 pg_upgrade 将 PostgreSQL 9.6 原地升级到 17:停机切换、配置迁移与校验清单

来源: postgr.es 35
从 PostgreSQL 9.6 跨越多个大版本升级到 17,真正困难的通常不是数据文件转换,而是配置兼容、扩展处理、回滚设计,以及升级后的统计信息和索引校验。 对于多 TB 集群, 加恢复的停机时间往往无法接受;原生逻辑复制又要求源端至少是 PostgreSQL 10。面对 9.6 这样的老集群, 是一个更实际的选择:它通过硬链接复用数据文件,使核心...

pg_hardstorage:用复制协议、内容寻址存储和开放格式重做 PostgreSQL 备份

来源: postgr.es 38
PostgreSQL 备份工具并不少:pgBackRest、Barman 和 WAL-G 已经支撑了大量生产系统。pg_hardstorage 的出发点不是替代这些成熟项目,而是增加一个可以审计、可以迁移、适合云原生部署的开源选项。它选择 PostgreSQL 复制协议作为数据平面,通过普通 libpq 连接持续接收 WAL,因此同一套架构可以面对托管...

应用开发者到底需要懂多少数据库:从 ER 图到事务与索引

来源: postgr.es 41
多数应用开发者并不想成为 DBA,只希望数据库稳定地待在后台。但数据库并不是一个可以完全隐藏的实现细节:数据模型、约束、事务和索引会直接决定应用能否保持正确,以及它在数据增长后是否仍然可用。 真正需要掌握的不是每一种数据库内部算法,而是一组能够支撑日常开发决策的核心概念。ER 图是很好的起点,因为它迫使我们明确对象、属性、关系和基数,再把这些业务规则落...

用 AlloyDB AI、Gemini 与 RUM 补上 PostgreSQL 中日韩全文检索的分词缺口

来源: cloud.google.com 49
PostgreSQL 全文检索擅长处理由空格分隔的文本,但面对中文、日文、韩文等连续书写语言时,默认解析器可能把整句话当成一个词元。AlloyDB AI 提供了一条数据库内解决路径:先用 Gemini 做上下文相关的分词,再用 和 RUM 建立全文索引,并可进一步叠加 ScaNN 向量检索,形成一条 SQL 内的混合搜索链路。 PostgreSQL 需...