PostgreSQL 的 CREATE INDEX CONCURRENTLY 如何避免锁表,失败后会留下什么?
围绕“PostgreSQL 的 CREATE INDEX CONCURRENTLY 如何避免锁表,失败后会留下什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明两阶段扫描降低锁级别的机制、不能在事务块内执行的限制及失败后 invalid 索引的清理。
PostgreSQL · 数据库事务面试题第 1 页,显示第 1–8 题,共找到 8 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“PostgreSQL 的 CREATE INDEX CONCURRENTLY 如何避免锁表,失败后会留下什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明两阶段扫描降低锁级别的机制、不能在事务块内执行的限制及失败后 invalid 索引的清理。
围绕“长时间未提交的事务为什么会导致 PostgreSQL 表膨胀且 VACUUM 无法回收”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释快照仍引用旧版本使死元组不可回收的机制,并给出通过 pg_stat_activity 定位与终止长事务的方法。
围绕“PostgreSQL 的 MVCC 是如何通过元组版本实现读写互不阻塞的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释每行多版本加事务快照判断可见性的机制,并指出它导致死元组需要清理这一后果。
围绕“pg_dump 导出的数据在多表并行写入时为什么仍然是一致的快照”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释导出在单个可重复读快照中运行从而保证库级一致性的机制及其长时间运行对死元组的影响。
围绕“PgBouncer 的 session、transaction、statement 三种池化模式对应用语义各有什么影”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确事务级池化下 prepared statement、临时表与会话级 SET 失效的原因及适用场景。
围绕“如何监控和诊断 PostgreSQL 备库复制延迟过大的原因”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分发送延迟、写入延迟与重放延迟三个指标,并指出大事务、长查询冲突与硬件瓶颈等常见成因。
围绕“PostgreSQL 事务 ID 回卷是什么,为什么接近回卷时数据库会强制只读甚至停库”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 32 位事务 ID 环形比较与冻结机制,以及 datfrozenxid 年龄告警和紧急单用户模式的处置。
围绕“PostgreSQL 为什么必须执行 VACUUM,不清理会发生什么后果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确回收死元组空间和防止事务 ID 回卷双重职责及各自失控后的症状。