KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
PostgreSQL 应用课:把 PG 的特性用对 — keel 龙骨
站在写业务代码的人的位置,讲 PG 该怎么被使用:numeric 与 float8 的真实误差、NULL 的三值逻辑与 NOT IN 塌缩、唯一约束在并发下的等待语义与 ON CONFLICT 的返回陷阱、JSONB 的 GIN 索引能加速与不能加速的查询、窗口函数与 CTE 内联改写执行计划的方式、读已提交下的丢失更新与 SKIP LOCKED 队列、最小权限与 RLS 的同表多租户隔离,以及 pg_trgm 因 locale 不认汉字这类选型边界。含七组在本机 PostgreSQL 16.15 上真跑的输出。
站在写业务代码的人的位置,讲 PG 该怎么被使用:numeric 与 float8 的真实误差、NULL 的三值逻辑与 NOT IN 塌缩、唯一约束在并发下的等待语义与 ON CONFLICT 的返回陷阱、JSONB 的 GIN 索引能加速与不能加速的查询、窗口函数与 CTE 内联改写执行计划的方式、读已提交下的丢失更新与 SKIP LOCKED 队列、最小权限与 RLS 的同表多租户隔离,以及 pg_trgm 因 locale 不认汉字这类选型边界。含七组在本机 PostgreSQL 16.15 上真跑的输出。
章节目录
- 00 · 类型与建模 — ## 现场:差 0.03 元的对账
- 01 · 约束是数据库兜底 — ## 现场:同一个邮箱注册了两次
- 02 · JSONB 的边界 — ## 现场:一个「省事」的决定
- 03 · 把逻辑压进 SQL — ## 现场:一万次往返
- 04 · 事务边界与并发写 — ## 现场:超卖了三件
- 05 · 权限、schema 与租户隔离 — ## 现场:应用连的是超级用户
- 06 · 选型与边界 — ## 现场:两个都「能跑」的方案