
PostgreSQL 18 新特性详解:异步 IO、Skip Scan、UUIDv7 都来了
PostgreSQL 18 带来异步 I/O 子系统、虚拟生成列默认化、多列索引 Skip Scan、时态约束、UUIDv7、RETURNING 支持 OLD/NEW 等重磅更新,另有 OAuth 认证、pg_upgrade 统计保留与监控增强。本文逐项解读并给出升级建议。
从概念、接入到生产治理,提供可执行、可验证的工程方法。

PostgreSQL 18 带来异步 I/O 子系统、虚拟生成列默认化、多列索引 Skip Scan、时态约束、UUIDv7、RETURNING 支持 OLD/NEW 等重磅更新,另有 OAuth 认证、pg_upgrade 统计保留与监控增强。本文逐项解读并给出升级建议。

PostgreSQL 18 异步 I/O 让数据库并发提交多个读请求,云存储等高延迟环境下读密集负载可提速 2-3 倍。本文讲清 worker/io_uring/sync 三种模式、参数配置、基准测试方法,以及异步 I/O 无效的三种场景。

PostgreSQL 18 新增 Skip Scan 优化:查询只过滤多列 B-Tree 索引的非前导列时,优化器可按前导列逐值"跳跃"搜索,把全表扫描变成多次精准索引查找。本文讲清原理、触发条件、执行计划识别方法与五项限制。

PostgreSQL 18 的 RETURNING 子句支持同时引用 OLD 和 NEW,一条 UPDATE/DELETE 即可拿到修改前后完整行。本文讲清四种 DML 操作下 OLD/NEW 的取值规则,以及计算变更差值、检测真实修改、审计日志等实战写法。

PostgreSQL 18 原生支持时态约束:WITHOUT OVERLAPS 一行声明禁止时间段重叠,PERIOD 外键保证"引用在当时有效"。会议室预订、员工履历、地址有效期等场景不再需要触发器。本文从 Range 类型讲起,附完整 SQL 示例。

UUIDv4 随机写导致 B-Tree 索引碎片化,自增 ID 又难用于分布式。PostgreSQL 18 原生支持 UUIDv7:时间戳前缀天然有序,索引性能接近自增 ID 且全局唯一。本文讲清原理、用法、时间戳提取和五条使用限制。

SQLite 一次只能处理一个写操作,这一架构限制把它挡在高并发场景门外。Turso 用 Rust 重写 SQLite 并引入 MVCC(行级多版本并发控制),实现真正的并发写。本文讲清单写瓶颈成因、BEGIN CONCURRENT 的不足、Turso MVCC 原理与当前限制。

PostgREST 是一个独立 Web 服务器,连接 PostgreSQL 后自动内省 Schema,把每张表变成 REST 接口:/todos 立即支持 GET/POST/PATCH/DELETE,权限靠数据库原生角色和行级安全(RLS)。Supabase 数据层背后的正是它。

Dolt 是兼容 MySQL 协议的 SQL 数据库,内置 Git 语义:对数据表直接 branch、commit、diff、merge、log。基于 Prolly Tree 内容寻址存储,提交近乎瞬时。应用无需改代码即可接入,还能跑成 MySQL Server。

S3 存着 400 万亿对象、每秒处理 1.5 亿请求、峰值吞吐超 1PB——而它的主力存储介质是机械硬盘。本文拆解 S3 的多层架构:为何选 HDD、日志式顺序写、纠删码并行读、Power of Two Choices 负载均衡与工作负载去相关。

PostgreSQL 与 MySQL 是全球最流行的两大开源关系数据库。MySQL 以简单快速取胜,PostgreSQL 以数据完整性和高级功能见长,PostgreSQL 18(2025 年 9 月)的异步 I/O、Skip Scan、时态约束进一步拉开差距。本文从架构理念到实战特性逐项对比。

PostgreSQL 用表 + 预定义 Schema + SQL,MongoDB 用文档 + 灵活 Schema + MQL,两者哲学相反。但 PostgreSQL 18 的 JSONB 能力已覆盖多数文档场景,同时保留引用完整性、SQL Join 和 ACID 事务。本文从建模、事务、搜索、扩展等维度实测对比。