GIN VACUUM 可能把内部页当叶子页,造成索引损坏
Peter Geoghegan 报告了一个影响所有稳定分支的 GIN 索引损坏:ginVacuumPostingTreeLeaves() 把共享锁升级为排他锁后没有重新检查页面是否仍是叶子页,VACUUM 可能把内部页当叶子页处理,漏掉该清除的死 TID。Andrey Borodin 确认这是真实的数据损坏,追溯到 fd83c83d0。另一个缺陷是 ginInsertCleanup 只在 ginbulkdelete 的第一遍被调用。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
每日精选 PostgreSQL、数据库与云计算资讯
Peter Geoghegan 报告了一个影响所有稳定分支的 GIN 索引损坏:ginVacuumPostingTreeLeaves() 把共享锁升级为排他锁后没有重新检查页面是否仍是叶子页,VACUUM 可能把内部页当叶子页处理,漏掉该清除的死 TID。Andrey Borodin 确认这是真实的数据损坏,追溯到 fd83c83d0。另一个缺陷是 ginInsertCleanup 只在 ginbulkdelete 的第一遍被调用。
DETACH PARTITION ... CONCURRENTLY 的等待阶段一旦被中断,分区的 in-detach 标记只有 FINALIZE 能清除,于是 relispartition 仍为真,而 get_partition_ancestors() 返回空列表。Mihail Nikalayeu 压测时发现三处代码都假设祖先列表非空,会触发断言失败或空指针解引用。Álvaro Herrera 计划下周推入并回移。
Radim Marek 实测后认为 AlloyDB 的兼容只到线协议这一层:日志即数据库,数据页由 WAL 异步派生;所谓自适应 autovacuum 只换了调度器,清理仍在计算节点上做。列存引擎把 TPC-H Q6 从 2681 毫秒降到 69 毫秒,但 SF100 下写争用从 16% 升到 29%,列存还可能因缺少查询历史而静默为空。扩展支持也割裂:plv8 只在 Omni,PostGIS 只在托管版。
jit 默认开启,代价超过阈值时用 LLVM 把表达式求值和元组解构编译成机器码,长时间的分析型查询受益,短查询只白付编译开销。真正的坑是 llvmjit 常被单独打包,容器镜像用 --no-install-recommends 时装不上,此时 PostgreSQL 静默地不做 JIT,既不报错也不写日志。Christophe Pettus 建议每台机器都跑一次 pg_jit_available() 确认。
Denis Smirnov 主张不新增 table AM 回调,把 tts_batch 同时用于堆表和列存:堆表保留 Datum 数组,列存保留 Arrow 数组或压缩列,只有普通节点索要行数据时才转换。新增 TupleBatchRequest 描述属性集,TupleTableSlotBatch 带 selection 位图;支持批处理的节点在 ExecProcNode() 返回后检查 tts_batch 决定走哪条路径。
Cagri Biroglu 的按表重新同步补丁更新到 v4,为逻辑复制提供 ALTER SUBSCRIPTION ... REFRESH TABLE。这一版把 ExecuteTruncate() 换成基于已解析 OID 的 ExecuteTruncateGuts(),修掉继承子表被静默 TRUNCATE 导致数据丢失的缺陷,并拒绝对被其他订阅追踪的关系执行 truncate。文档和 psql 补全一并补上。
v2 改用记录最近一次校验和切换的 LSN,修掉 on→off→on 时静态变量误判导致重新启用验证的问题。
Jeff Davis 补上缺失文档、把循环变量改为 size_t、修正 -1 返回值行为,并新增一个 C 测试模块。
六个补丁修掉辅助进程退出时的清理缺失,以及 writtenUpto 回退后 waiter 永久阻塞的竞态。
Tom Lane 查出 replace_property_refs_mutator 处理 Aggref 时没有递增 varlevelsup,v4 已可提交。
子查询绕开 DEFINE 中的歧义列引用时,反解析器输出范围变量而非合法列引用,dump/restore 报错。
作者称这是必要的正确性修复而非可选优化,同时重写了远端执行函数的代价估算。
PostgreSQL 18 的异步 I/O 落地后,由谁执行 I/O 取决于 io_method 和 io_workers。sync 退回同步行为,只用于排查;默认的 worker 走后台进程池;io_uring 交给 Linux 内核最快,但需要 liburing 构建与放行的安全策略,容器里常被禁止,此时服务器会直接启动失败。io_workers 默认 3、上限 32,可在线调整,冷读负载建议提到 CPU 线程数的四分之一到一半。
work_mem 按操作而非按查询生效,一条语句里的多个排序、哈希节点各占一份,哈希节点还要乘 hash_mem_multiplier,预估总量没有趁手工具。作者用 raw_parser() 解析、planner() 生成计划,再遍历计划树累加倍率乘上 work_mem 得到最坏情况,做成扩展 querymem 挂在 ExecutorStart 钩子上,可记日志或拒绝超限查询。在 pgbench 上,含两个哈希的连接估到 28 MB。
TimescaleDB 的连续聚合靠 invalidation 日志和定时刷新保持同步,start_offset 是回溯窗口,end_offset 是新鲜度下限。Damaso Sanoja 指出一个容易忽略的坑:迟到写入若落在已物化且超出回溯窗口的 bucket 上就永远不会重算,聚合结果静默保持错误值,而 real-time aggregation 只覆盖 watermark 之后尚未物化的部分,救不了这种情况。
PostgreSQL 19 计划引入的 MERGE/SPLIT PARTITIONS 在合并拆分时会静默丢弃分区级属性,包括 RLS 策略、ACL、索引等。多位审阅者认为静默丢弃 RLS 是安全隐患,文档也只用「等等」一笔带过。Alexander Korotkov 提议 pg19 先对涉及 RLS 的操作直接报错,完整支持推迟到 pg20,实现该检查的补丁已经提交。
Andrey Borodin 的 WAL 压缩补丁系列更新到 v9:复用 zstd 上下文加快压缩解压、在按 FPI 压缩之外增加整条记录压缩,跨记录流式压缩仍在开发。审阅者指出 v8 与新提交冲突。v9 完成变基,修掉 EXEC_BACKEND 下 XLOGShmemAttach() 的 Windows bug,文档同步注明 wal_compression = on 默认优先选用 zstd。
安装集成时 CLI 会自动为项目建库并配好 skills,编码 agent 初始化后可直接访问数据库。
提交 f2ccb8e6c591 落地:索引条目直接返回副本,表条目先并入子事务计数;下一步转向 relfilenode。
新版把索引统计独立成型,增加 pgStatFlushInProgress 防重入,未变化条目用 memcmp 跳过取锁。
备机上的 synced slot 不再豁免检查;但过期 catalog_xmin 可能落在主库物理槽上,仍未覆盖。
无权限用户查 pg_stat_activity 时 leader_pid 为空,视图聚合失效;数组还是每 worker 一行也未定。
Parquet 是列式文件格式,Iceberg 是记录一张表由哪些文件构成的元数据层;Postgres 可经扩展读取 Parquet。
PostgreSQL 全球开发组发布了所有受支持版本的更新,包括 18.6、17.11、16.15、15.19、14.24,以及 19 的第三个 Beta。本次修掉 28 个安全漏洞和过去数月报告的一百一十多个缺陷。18.4 到 18.6 之间跳过了 18.5,原因是回归问题。三类情况升级后可能还要额外处理:并行 GIN 索引构建、btree_gist 与 ltree。另外 PostgreSQL 14 将在 2026 年 11 月 12 日停止接收修复。
Ryan Booz 这一篇讲怎么识别高基数负载,也就是持续产生的唯一归一化查询数超过 pg_stat_statements.max,导致统计被挤掉。常见来源是 ORM、动态 SQL、临时报表和 AI 辅助开发工具。文中用 Bluebox 造压:同一负载在 PostgreSQL 17 上产生 671 条唯一语句,在 18 上只有 120 条,差别来自 IN 列表归一化的改进。诊断方法是重置后观察填充速度,并盯住释放计数。
Bertrand Drouvot 发布了 pg_walviz,一个把 WAL 段文件的物理布局画到浏览器里的只读工具。它启动一个本地 HTTP 服务,四个联动视图分别显示按资源管理器活动着色的段热力图、选中页上的记录片段、解码后的记录头,以及按组成部分着色的原始字节。它补的是 pg_waldump 纯文本看不清的那部分。使用前提是只对归档或不可变的段副本操作,并配同版本的 pg_waldump。
Christophe Pettus 讲 io_max_concurrency:它规定单个进程同时能有多少个 IO 在途,是对 effective_io_concurrency 请求量的封顶。这个参数由 PostgreSQL 18 的异步 IO 子系统引入,默认 -1 表示启动时自动算,属于 postmaster 级别,改动要重启。前者最高能要到 1000,但单进程实际发出多少受这个上限约束。作者建议保持 -1,先用 pg_aios 核实真实并发。
Diksha Sharma 从数据库管理员的实际处境出发,梳理 PostgreSQL 里做数据脱敏会遇到什么。难点有三类:要覆盖各式各样的数据类型,要能施加临时性的脱敏控制,还要把基于角色的脱敏策略做成可长期维护的东西而不是一次性脚本。文章的落点是在数据保护和业务可用之间找平衡,让需要用数据的团队照常工作,同时不让原始敏感值流出去。对准备把脱敏规范化的团队来说,它更像一份问题清单而不是具体实现方案。
Tailscale 公布了一次生产数据库损坏的排查结果,根因是 SQLite 的 WAL 重置竞态。官方说明触发条件相当苛刻:必须是 WAL 模式,同一文件至少有两个独立线程或进程连接,并在极窄的时刻并发写入和检查点。修复进入 3.51.3 及之后的版本,也回补到了 3.44.6 与 3.50.7。这属于数据损坏而不是一般可用性缺陷,受影响的版本跨度约十六年。合适的做法是先生成运行时版本清单,筛出 WAL 加多连接的部署,做备份恢复演练再升级。
UPDATE 因行过滤器被转成 INSERT 时,订阅端未变更的外联列会被静默写成 NULL;倾向先在应用进程报错并回移到 PG15 及以上。
用自定义的 Arrow 元组槽让批处理对现有执行节点透明,配合延迟物化、按列解压和最小最大值跳过,再由批感知节点识别利用。
补丁已 rebase,审查中发现 gin_entrypage_items() 缺少一处必要的元组描述符终结调用,已给出单行修复。
插件在工作区里加一个专属面板直接列出 Neon 项目,用快捷键就能创建分支、取连接串、暂停计算实例。
该修复并不只在 3.53 分支可得,3.44.6 与 3.50.7 也有回补版本,盘点时应按实际链接的库版本判断。
文章把事务边界、检查点和只追加审计当作设计清单,适合照着核对,但它是厂商工程文章而非产品发布。
同期的 1.15.0 修掉了 MCP 工作区线程、智能体终端,以及会吃掉大量磁盘的 npm 缓存问题。
HTTP 与 gRPC 就绪探针同时 GA,可做跨区域自动故障转移与回切,但仍依赖至少两个区域、最小实例与负载均衡。
它针对的是会话令牌被窃后的账号接管,实际收益取决于身份提供方与站点是否接入。
Command Prompt 发布扩展 plx,允许用熟悉的语言方言编写存储函数和触发器。执行 CREATE FUNCTION 时,plx 把函数体翻译成 PL/pgSQL 存进 pg_proc.prosrc,运行时仍由自带的解释器执行,后端不会加载额外的语言运行时。可用方言包括 Ruby、PHP、JavaScript、Python、Oracle PL/SQL 和 Go,名称都带 plx 前缀,可与原生的 PL/Ruby 共存。它只改写法,不改数据库实际执行的内容。
Dasha 是一个开源性能仪表盘,用只读角色连接数据库,主机上不装代理也不需要额外扩展。一个实例可以服务多个集群和它们的副本:因为多数统计是实例级且不会复制,它会分别读取每台主机再合并分析,比如主库上看着没人用的索引,可能正扛着备库的全部读负载。功能包括按八类指标算健康分、分析高频查询、对比 pg_stat_statements 快照、检查索引膨胀、查看锁树与等待事件。要求 PostgreSQL 14 以上。
Hornetlabs 发布 SynchDB 1.4,这个扩展负责把异构源库实时复制到 PostgreSQL 或 IvorySQL。新版把 Oracle 容器数据库支持扩展到全部三条路径:内嵌 Debezium 引擎做变更捕获、oracle_fdw 做初始快照、Openlog Replicator 做基于日志的复制。建连接器时按 CDB/PDB 格式写源库名,SynchDB 会自动连到对应的 PDB 服务,该路径已在 Oracle 23ai 上测试。初始快照现在也能走加密连接。
CYBERTEC 开源了 CYBERTEC PG Operator。在 CloudNativePG、Zalando postgres-operator、Crunchy PGO 和 StackGres 都已成熟的情况下,他们做新 operator 的核心动机是支持多站点部署。除了标准的生命周期管理,它重点实现多站点集群:跨站点复制、自动故障转移,以及在多个 Kubernetes 环境之间验证过的部署模型。源码已放在 GitHub 上。
Arko Dutta 给出一种在 Amazon Aurora PostgreSQL 跨大版本升级时让 Debezium 连接器继续跑的做法,避免全量重新快照。思路是用原生逻辑复制在源集群和目标集群之间搭一座同步桥。切换时先停掉订阅,手工同步序列值,在目标集群上建新的复制槽,再把连接器指向目标集群并设 snapshot.mode=never。因为保持同一个 topic 前缀,消费者只会看到短暂中断,文中测试切换耗时约 2 秒。
Neon 推出 Neon Functions,一个基于 Node.js 24 的计算层,可以直接部署到 Neon 分支上,与 Lakebase Postgres 数据库跑在同一区域,DATABASE_URL 会自动注入。这个运行时支持长连接,智能体可以连续流式输出数分钟,WebSocket 或服务端推送连接也能在传输期间保持打开。设计意图是让后端逻辑和数据库在物理上足够近,从而降低数据密集型负载的延迟。
Christophe Pettus 讲 io_combine_limit 与 io_max_combine_limit:前者是 PostgreSQL 17 引入的会话级参数,默认 128kB,把相邻块合并成一次读以减少系统调用;后者是 18 新增的 postmaster 级参数,同样默认 128kB,改动需要重启,它决定异步 IO 子系统在启动时预留多少共享内存。实际生效的是两者中较小的那个,而 SHOW 显示的是你设的值不是实际值,只抬高一个会被悄悄截断。
Jeremy Schneider 一篇里讲了三件事。检查点上他仍不建议把 checkpoint_timeout 从五分钟往上调,理由是高可用副本救不了:主库重启后副本的恢复时间一样长。排序规则方面,他用 Docker 重做了两千五百万字符串的排序折磨测试,做成彩色网格:glibc 2.28 起多数语言的排序慢到两小时,德语和俄语的顺序在 Debian 12 与 RHEL 9 变过,日语一直稳定,ICU 每个版本都变。
Melanie Plageman 指出 SPLIT 与 MERGE PARTITIONS 会丢掉分区上的行级安全策略、索引、外键和权限,建议至少报警告。
外层引用的聚合和图模式 WHERE 子句都没被拦住,报的是规划器内部错误;Tom Lane 建议新增表达式类别统一检查。
Mihail Nikalayeu 确认此前分开讨论的两个问题其实是同一个缺陷,发布管理员已把它加进 PostgreSQL 19 的 Open Items。
有人提议在历史文件里加 UUID 作为辅助标识,反对方认为时间线唯一性应由归档管理层保证,分歧未解。
关系与数据库删除时缺少对应钩子,过期条目会留在共享内存并持久化到统计文件,OID 复用还可能张冠李戴。
Daniel Gustafsson 提议为 LibreSSL 单开源文件,Peter Eisentraut 担心重复维护,与会者同意 PG20 弃用 1.1.1
会议录音、转录与摘要常含客户数据与凭据片段,值得先复核工作区的公开链接、访客权限与导出记录。
SSH 是生产管理面,升级前应在预发环境验证密钥类型、证书、跳板与 ProxyJump,发行版打包可能与上游有差异。
离线镜像、自动下载校验和内部软件源可能仍依赖旧信任根,需要更新受控 keyring 并做一次独立验证演练。
1.0 是评估语言可用性和迁移风险的节点,但生态并未随之完成,试点应覆盖 ABI 与 FFI、打包、调试和性能回归。
Databricks 收购 Electric 团队之后,Electric 将作为 Neon 的一部分并入。Electric 是 PGlite 与 Electric 同步引擎背后的团队:前者是基于 WebAssembly 的轻量 Postgres 运行时,可以直接在浏览器里跑;后者做的是实时数据同步。整合之后,Neon 的 serverless Postgres 平台会获得浏览器内执行与实时同步这两块能力。做本地优先应用的团队值得关注 PGlite 的许可与发布节奏是否照旧。
Wellingtone Luvonga 记录了在 Kubernetes 上用 Crunchy PGO 做 PostgreSQL 跨区域灾备的完整流程,WAL 归档后端选用 MinIO。文章解决了三个难点:用 NGINX 反向代理给 pgBackRest 提供自签名 TLS、避免回切过程中 operator 死锁,以及处理时间线分裂造成的归档污染。步骤覆盖初始部署、复制验证、模拟区域故障切换,以及灾备站点提升为主库后如何把原主区域重建成备库。
Stefano D'Alessio 给出 Amazon RDS 与 Aurora PostgreSQL 的 TLS 做法。服务端把 rds.force_ssl 设为 1 拒绝明文连接,客户端用 sslmode=verify-full 校验服务端身份,证书颁发机构在三个可选 CA 里按需求选。文章还给了一套用 CDK 部署的监控:Lambda 配合 EventBridge 与 CloudWatch,提前 30 天发现将过期的证书。有无未加密连接查 pg_stat_ssl。
Tudor Golubenco 演示了让每个租户用自己的密钥加密敏感列的做法。数据密钥存在 AWS KMS 里,应用在查询时取出并作为绑定参数传给 pgp_sym_encrypt 与 pgp_sym_decrypt,数据库本身不持有密钥。组织表用 kms_key_arn 标记是否启用自带密钥。文中点了几个坑:把 log_parameter_max_length 设为 0 以免密钥进慢查询日志、按行而不是按组织记录加密状态、密钥轮换后老行需要迁移。
sqlfmt 是一个 gofmt 风格的 SQL 格式化工具:只有一种排版风格,没有任何配置开关。它采用的是把子句关键字右对齐到同一列的河流式排版。实现上用 Go 写成,走词法分析而不是抽象语法树,因此能处理粘贴进来的片段、不完整语句甚至不完全合法的语法;测试套件则拿 PostgreSQL 自己的解析器做校验。安装用 go install,作者还编译了一个 WebAssembly 版本放在网页上,不装东西也能直接格式化。
Christophe Pettus 提醒 IntervalStyle 不只管间隔值怎么打印,也管怎么解析输入。同一个间隔在 postgres 下是 1 year 2 mons 3 days 04:05:06,在 sql_standard 下是 +1-2 +3 +4:05:06,在 iso_8601 下是 P1Y2M3DT4H5M6S。风险有三处:sql_standard 会改变负号字面量的含义,iso_8601 对混合符号的间隔输出严格解析器读不了的写法,全局改动会打乱驱动。
研究者公开了针对系统管理模式集合超时假设的代码与验证方法。作者称在一台 Zen 3 的 Ryzen 7 5800H 上,用一条从特定慢速 MMIO 地址发起的向量加载可以持续约一秒,跨过固件的集合超时,使某个核心仍在 SMM 之外运行。项目也说明默认地址与参数并不通用,换机器要重新调校,目前没有已协调披露的通用编号。它的意义不是普通用户能拿到 SMM,而是动摇了一个核心进入 SMM 后其他核心都会停下的同步前提。
to_date 用 TMMON 解析土耳其语月份时,strupper_libc_mb 会以空 locale 句柄调用,18 分支缺少特判,修复已推送。
backend 崩溃后 ring 的描述符不会清理,累积到 ulimit 上限就会让数据库重新初始化时报 EMFILE,好在描述符带 FD_CLOEXEC。
Andres Freund 指出 20 字节键开销、按关系遍历困难与锁竞争,建议改成按关系的数据结构加基数树的两层设计。
提交 d611f8b158 把 TOAST 关系也纳入跳过范围,但它没有可恢复的统计,副作用是 autovacuum 优先级被抬高,修复拟回移 v18。
这是窗口内少数可核验的正式开源运行时发布,升级风险通常在 image、插件与虚拟机的组合上,而不在单个二进制。
单二进制加离线能降低受限网络里的试用门槛,但无需联网不等于天然安全,风险仍取决于它能读写和执行什么。
PostGIS 发布 3.7.0beta2,官方建议搭配 PostgreSQL 19 Beta2 与 GEOS 3.15.0beta2,支持范围是 PostgreSQL 14 到 19beta2、GEOS 3.10 以上、Proj 6.1 以上。这一版在 beta1 基础上修了 ST_GeometryN 与 ST_DWithin 的内存泄漏,加固了可写模式下攻击者可控的对象解析,补上畸形几何的校验,并修正大端平台与 32 位整数处理。
Umair Shahid 提醒,分区之所以快靠的是分区裁剪,而裁剪只在查询按分区键过滤时才生效。他给的方法是先把最频繁、最贵的十条查询列出来,看它们的 WHERE 条件;如果过滤列五花八门,分区不会带来均匀收益。其次要看数据分布,不只是不同值的个数,还要看行怎么落在这些值上。哈希分区适合 UUID 一类天然均匀的键,按租户 ID 做哈希会造成热点。时间序按范围分区最合适,还能靠删分区做数据保留。
Christophe Pettus 讲的这个参数只读,报告的是日期时间类型的内部表示:以微秒计的 64 位整数,还是以秒计的浮点数。PostgreSQL 早期用双精度浮点存时间戳,整数表示在 7.x 时代作为编译选项出现,8.4 起成为默认,到 10 时移除了关闭它的编译开关,此后恒为 on。它还留在启动信息里,是因为支持二进制协议的驱动要靠它解码时间戳。8.4 之前用浮点构建的老集群无法用 pg_upgrade 升级。
Restoredrill 把自己定位成证明 PostgreSQL 备份确实能恢复的工具。仓库在本窗口仍然很新,从项目说明推不出它已经覆盖复杂拓扑、加密、归档、时间点恢复或云备份插件。备份最常见的失败并不是没有备份,而是真要恢复时才发现对象不全、密钥不可用、版本不兼容、时间线缺失或恢复时间不达标。它更适合作为恢复演练清单的输入:先准备独立的恢复目标,做抽样与全量恢复,校验数据、对象与权限,给恢复时间计时,并把结果与生产严格隔离。
研究者披露了 Apple Private Cloud Compute 的 CVE-2026-20685 细节:在 Apple 提供的虚拟研究环境里,利用 darwin-init 的解压路径处理,让构造的归档以 root 身份写入持久数据卷,并借此影响日志转发。NVD 记录把影响描述为具备特权网络位置的攻击者可能泄露敏感信息,修复版本是 PCC Release 5E290.3,并非新披露的零日。即使可验证的系统镜像不变,运行时的可写状态仍是独立边界。
解压器读完输入就停下,不检查压缩库是否给出流结束信号,zstd、gzip 与 lz4 都有此问题,补丁改为逐格式跟踪完成状态。
GSoC 项目发现插入与页面合并同时发生时,元组可能落到已标记 BTP_MERGED_AWAY 的页上,后续索引扫描找不到该行。
提交 f19c0eccae 只给 pg_controldata 加了字段,函数里漏掉了;审查建议改名为 data_checksum_state 并返回文本状态。
只在 populated 状态真需要改变时才调用,避免产生死元组,并减少给所有 backend 发失效消息造成的计划缓存抖动。
只记录造成数据分歧的冲突,触发 ERROR 中断复制的留在服务器日志;新增 resolution 列说明每条冲突的处理方式。
基于 OpenCode,最多五个模型并行运行并融合结果,建议默认只绑定 localhost。
把元数据职责交给嵌入式数据库能降低工程复杂度,代价是事务边界、可达性判定与删除时序成为核心设计。
面向可复现构建与事故回溯,但完整版本存档会放大存储、索引与安全治理压力,回滚时可能带回已撤销的依赖。
新晋 PostgreSQL ACE 张晨解释他为什么把自己定位成数据库恢复专家。他做的是常规工具之外的非常规恢复,自研工具 PDU 走过四个阶段:离线抽取数据、从 WAL 里挖数据、碎片扫描恢复,以及不依赖数据字典的恢复,前两项已开源,后两项作为商业能力保留。他认为 Oracle 与 MySQL 的恢复服务早已成行,PostgreSQL 这块却少有人认真做。他的方法是从事故现场出发,先判断还剩多少数据、值不值得恢复。
Fastmail 宣布提供欧盟数据区域,把邮箱数据存放在欧洲。围绕这条公告的讨论把数据所在地与司法辖区、公司控制权、密钥归属和运维访问边界区分开来:区域标签只是部署参数,主备副本、日志、监控和工单系统里的数据未必跟着走。对邮件、对象存储和数据库托管一类服务,采购时值得要求供应商给出数据流图、各类副本的位置、密钥管理的控制权、破窗访问流程、实体与分包商清单,以及退出时的删除证明。
UTM 介绍了 Triton,用 Windows 的用户态与内核态驱动对接 VirtIO 和 Neptune,为 QEMU 里的 Windows 客户机提供 DirectX 11 支持。文章同时承认 macOS 后端、兼容性以及 Apple 相关组件的许可证仍有约束。Windows 客户机的图形加速长期是 QEMU 在桌面与 CI 场景里的难点,虚拟设备与宿主渲染器若能配合,ARM 上的 Windows 负载就少一层替代方案。
Vibhor Kumar 把此前提出的三套框架串成一个自上而下的结构。OWNS 是战略层,看的是平台选型中的成本、生态健康度、监管暴露面和规模化能力;CALM 是架构就绪层,判断平台能否可靠演进并被有效治理;ORBIT 是执行层,管的是模型决策能不落空、不重复、不出现无法解释的失败。作者的说法是三层依次依赖:没有就绪的战略只是愿景,没有执行的就绪只是架构表演。他强调平台需要同时承接事务、分析、向量检索与智能体负载。
Peter Geoghegan 报告提交 51cd5d6f 的缺陷:元组解构对四字节传值属性做符号扩展,OID 转 Datum 却做零扩展,比较时高位不一致。
Michael Paquier 的补丁集用 oid8 做 chunk_id,Yugo Nagata 的性能测试显示打补丁前后几乎没有差异。
TOAST 选项修复补丁把 autovacuum_enabled 改为三值并向 TOAST 表传播,Greg Burd 提醒这是需要写进文档的行为变更。
表达式常量折叠成普通列时定义被静默接受却不产生统计,版本检查仍写着 190000,统计对象名含 ON 会被错误解析。
Tomas Vondra 把常量改名为 WAL_COMPRESSION_ON 以免与 GUC 默认值混淆,文档也会把 zstd 写在 lz4 之前。