来源: postgr.es
56
Databricks 收购 Electric,值得关注的地方不只是交易本身,更在于它提示了一种正在成形的架构:PostgreSQL 不再只能作为远程服务器运行,也可以进入浏览器、应用进程、无服务器环境,甚至 AI Agent 的沙箱。 Electric 的 PGlite 是编译为 WebAssembly 的 PostgreSQL,可以嵌入 JavaSc...
来源: postgr.es
46
PostgreSQL 通常不会提供传统意义上的查询提示(query hint)。开发者不能直接告诉优化器“必须使用某个索引”或“必须按照这个连接顺序执行”。不过, 提供了一个非常明确的例外:当它被设置为 时,规划器会按照 SQL 中书写的顺序连接表。 这不是未公开的漏洞,也不是偶然的实现细节,而是 PostgreSQL 文档描述过的配置行为。它适合在连...
来源: postgr.es
43
在 Kubernetes 中, 经常被当作容器真实内存占用的代表,并参与内存压力判断、驱逐和告警。但对 PostgreSQL 来说,这个指标可能严重失真:数值更高的实例未必更接近 OOM,数值看起来平稳的实例也可能在下一次大排序时直接崩溃重启。 问题不只是监控面板画错了一条线,而是 PostgreSQL 的匿名内存、共享缓冲区和 Linux 文件页缓存...
来源: postgr.es
50
PostgreSQL 19 仍处于 beta 阶段,最终版本的细节可能变化。不过,从当前版本可以看出一个重要趋势:很多针对 PostgreSQL 10、11 写下的建议并没有失效,真正变化的是执行这些建议时的性能边界和运维工具。 依然是批量导入的首选,B-tree 仍是默认索引,BRIN 仍适合物理顺序与业务顺序高度相关的数据,分区表仍然首先服务于生命...
来源: postgr.es
33
PgColumnar 1.0 Alpha 2 于 2026 年 8 月 18 日发布,距离上一版 1.0-alpha 只有两周。这一版的重点已经不只是列式表本身,而是把 PgColumnar 接入更大的数据平台:它开始支持只读 Apache Iceberg,能够通过 S3 兼容对象存储读写数据,并加入维护守护进程,同时继续推进统计信息、查询规划器、性能...
来源: postgr.es
27
学习 PostgreSQL 时,真正困难的往往不是找到语法,而是把一个概念放进真实数据里运行,观察它解决了什么问题。YeSQL 正是围绕这个目标设计的:一套免费的 PostgreSQL 短课程,共 24 节,每节聚焦一个概念,配套一个可运行查询和真实数据,而且无需注册即可使用。 YeSQL 也不只是一个课程原型。它体现了一个更直接的学习方式:让《The...
来源: postgr.es
22
PostgreSQL 高可用通常意味着主节点选举、流复制、自动故障转移、健康检查和大量配置。CYBERTEC PG Operator(CPO)把这些能力封装进 Kubernetes 自定义资源:声明两个实例,Operator 负责生成集群,Patroni 则在数据库 Pod 内处理角色管理与故障转移。 下面以 Kubernetes 1.30、CPO 0...
来源: postgr.es
37
PostgreSQL 的 JIT 不只是一个“打开或关闭”的性能开关。需要分析生成代码时,可以通过 检查 LLVM bitcode,通过 让 JIT 编译函数能够被 GDB 识别,再用 把这些函数接入 等性能分析工具。三个 GUC 分别解决“生成了什么”“如何调试”和“时间花在哪里”这几类问题。 用于导出 PostgreSQL 为 JIT 编译生成的 ...
来源: postgr.es
42
在逻辑复制环境中,主库故障转移并不等于业务可以立即恢复。订阅端依赖逻辑复制槽来记录消费位置;如果这些槽只存在于旧主库,备用库提升后订阅端就可能找不到对应槽,被迫重新建立复制状态,甚至执行完整数据重同步。PostgreSQL 17 引入的 failover slot synchronization,正是为这个切换窗口补上了关键能力:让逻辑复制槽可以在备用...
来源: postgr.es
31
用户填写表单、点击提交,却迟迟看不到响应。于是他再次点击。问题在于:第一次请求可能已经成功写入数据库,只是响应在网络中丢失了。结果可能是两个潜客、两封确认邮件、两次 CRM 更新,以及两条分析事件。 这不是单纯的前端交互问题,而是一个缩小版的分布式系统问题。浏览器会重试,移动网络会在服务端提交成功后断开,Serverless 函数可能在提交后超时,队列...