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 上真跑的输出。

章节目录

  1. 00 · 类型与建模 — ## 现场:差 0.03 元的对账
  2. 01 · 约束是数据库兜底 — ## 现场:同一个邮箱注册了两次
  3. 02 · JSONB 的边界 — ## 现场:一个「省事」的决定
  4. 03 · 把逻辑压进 SQL — ## 现场:一万次往返
  5. 04 · 事务边界与并发写 — ## 现场:超卖了三件
  6. 05 · 权限、schema 与租户隔离 — ## 现场:应用连的是超级用户
  7. 06 · 选型与边界 — ## 现场:两个都「能跑」的方案

进入 keel 阅读