Skip to content

PostgreSQL 练习答案与复盘尺 ​

答案要能被另一台环境复跑:记录 PostgreSQL 版本、扩展、schema、执行计划和事务隔离设置。不要只贴“查询成功”,数据库更关心你在什么数据量和并发下成功。

SQL、类型与表设计 ​

合格解法会用约束守住不变量,明确 NULL、时区、数值精度和枚举演进;迁移脚本可重复执行,失败时能回滚或留下清晰的修复步骤。

索引与查询计划 ​

答案应对比 EXPLAIN (ANALYZE, BUFFERS) 的实际行数、缓存命中、排序和扫描方式;若计划估算错误,要检查统计信息、参数分布和数据倾斜,而不是盲目再加一棵索引树。

MVCC、事务与扩展 ​

需要画出快照读、当前读、锁等待和 vacuum 的关系,说明长事务为何拖住清理。扩展题要写清版本兼容、权限、备份和卸载路径。

典型错误 ​

  • 将 timestamp 当作带时区的事实,跨地区后出现“昨天/今天”分裂。
  • 只测热缓存,不测冷缓存与统计信息过期。
  • 以为 MVCC 自动解决所有写冲突,忽略唯一约束、锁和重试。

用心记录每一步成长