MVCC 面试口述稿 · PostgreSQL 八股
整体理解非常到位!以下保留原始说话逻辑,修正小口误,去掉卡顿,标出原文几处小漏洞,直接照着说即可。 原文小勘误 MVCC 全称:多版本并发控制,不是多并发版本控制(口误颠倒) 更新出来新 tuple:xmax=0,0 不是代表事务活跃,是哨兵——没有被删除/修改过 可见性判断:不是只满足两个条件,要组合判断;xmin 必须提交合格之后,才去看 xmax 面试口述版(完整)PostgreSQL 的 MVCC 叫多版本并发控制,目的是实现读写不互相阻塞。 PG 里面一行逻辑数据,物理上叫 tuple 元组。每个 tuple 会自带两个隐藏列:xmin 和 xmax。 xmin:生成这个版本的事务 ID,插入或者更新产生新版本的时候赋值。 xmax:让这个版本过期、删除的事务 ID;xmax=0 是特殊标记,代表这个版本还没有被任何人删除或者更新。 PG 修改数据不会原地覆盖,是追加新版本。 当我更新一行的时候,不会改动原来的旧元组: 旧 tuple,把它的 xmax 设置为当前更新事务的 ID,旧版本就被标记待过期,但不会立刻删掉,仍然留在堆表里。 再生成一条...
PostgreSQL 八股文知识库
💡 面向 Python / AI 应用开发岗 面试的 PostgreSQL 知识库,共 24 章。按「面试出现频率 + 实际开发价值」组织。 🚀 学习主线1SQL → JOIN → 索引 → EXPLAIN → 事务 → 隔离级别 → MVCC → 锁 → VACUUM → WAL → 连接池 📋 目录📑 总览 PostgreSQL 八股文知识库 · 总览 📗 基础篇 第1章 PostgreSQL 基础与整体架构 第2章 SQL 查询基础 第3章 JOIN 与复杂查询 第4章 索引 📘 原理篇 第5章 EXPLAIN 与 SQL 优化 第6章 事务 ACID 第7章 事务隔离级别 第8章 MVCC 第9章 VACUUM 第10章 锁与并发控制 第11章 死锁 第12章 WAL与数据库恢复 第13章 Buffer与Checkpoint 第14章 PostgreSQL查询优化器 📙 进阶篇 第15章 分页 第16章 PostgreSQL高级SQL 第17章 JSONB 与 GIN 第18章 主键、唯一约束与外键 第19章 数据库设计 第20章 连接...
初见
“风起的时候,花瓣会记得雨的方向。” 你好呀,这里是風間花雨的小站。 在这里放一些零碎的想法、喜欢的句子、还有偶尔的胡言乱语。 不求有多少人来看,只希望每个路过的你,能在这里找到片刻的安静。 关于「風間花雨」 風間,是风经过的地方。花雨,是花瓣落下的样子。 合在一起,大概就是——在风里看见一场花雨的瞬间。 很喜欢这个画面,所以拿来当了名字。
