小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-013:为什么要保持索引集精简

过多的索引会降低数据库性能,包括写入和读取速度减慢、浪费磁盘空间、增加缓存压力和WAL记录。定期监控和重建索引是必要的维护工作,建议删除未使用和冗余的索引,以保持索引集精简。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-013:为什么要保持索引集精简

Planet PostgreSQL
Planet PostgreSQL · 2025-11-10T23:59:59Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-011:预编译语句与分区表——悖论,第三部分

在Postgres中,不同的plan_cache_mode设置对分区表的锁行为影响显著。默认模式下,执行第六次时会出现锁爆炸,需锁定所有关系。强制使用通用计划时,首次执行锁定52个关系,后续执行锁定所有分区。强制使用自定义计划则每次执行仅需8个锁。选择应根据工作负载和锁竞争情况,未来可能有优化。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-011:预编译语句与分区表——悖论,第三部分

Planet PostgreSQL
Planet PostgreSQL · 2025-10-30T23:59:59Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-010:准备语句与分区表锁爆炸,第二部分

在#PostgresMarathon 2-009中,我们分析了锁管理器在处理准备语句和分区表时的表现。第六次调用时,锁的数量从8个激增至52个,原因是规划阶段未能进行分区修剪。尽管运行时修剪移除了11个分区,但仍锁定了所有12个分区。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-010:准备语句与分区表锁爆炸,第二部分

Planet PostgreSQL
Planet PostgreSQL · 2025-10-29T23:59:59Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-009:预处理语句与分区表锁爆炸,第一部分

在#PostgresMarathon 2-008中,预处理语句显著减少了LWLock:LockManager的争用。通过从规划器锁切换到执行器锁,锁的数量从6降至1。测试分区表时,执行6时锁数量从8增至52,但执行7后,使用缓存的通用计划,锁数量显著减少。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-009:预处理语句与分区表锁爆炸,第一部分

Planet PostgreSQL
Planet PostgreSQL · 2025-10-28T05:00:47Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-008:LWLock:锁管理器与预处理语句

Postgres在执行简单SELECT时,前五次使用自定义计划,锁定表及所有索引。第六次切换到通用计划,但仍锁定所有索引。第七次开始仅锁定表。这是由于规划器锁和执行器锁的机制不同所致。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-008:LWLock:锁管理器与预处理语句

Planet PostgreSQL
Planet PostgreSQL · 2025-10-14T23:59:59Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-007:我们是否应该担心pg_blocking_pids()的观察者效应?

文章讨论了pg_blocking_pids()函数对PostgreSQL数据库性能的观察者效应。频繁调用该函数可能导致锁管理器争用,影响查询延迟约10%。尽管影响不大,但在高负载情况下应谨慎使用。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-007:我们是否应该担心pg_blocking_pids()的观察者效应?

Planet PostgreSQL
Planet PostgreSQL · 2025-10-13T00:00:00Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-006:神秘的max_locks_per_transaction

max_locks_per_transaction参数限制每个事务可锁定的对象数量,默认值为64。它影响共享锁表的大小,实际可锁定对象数量可能超出预期,理解这一点有助于避免“共享内存不足”的错误。不同Postgres版本在相同设置下表现不同,锁表动态增长,具体机制尚不清晰。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-006:神秘的max_locks_per_transaction

Planet PostgreSQL
Planet PostgreSQL · 2025-10-10T00:00:00Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-005:Postgres 18的更多LWLock:LockManager基准测试

在2023-2024年,PostgresAI的客户在大机器上遇到LWLock:LockManager争用问题。PG18发布后,Denis Morozov在16个vCPU的虚拟机上成功重现了该问题。调整max_locks_per_transaction后发现其对规划时间有影响。计划对PG17进行基准测试,并研究小型机器是否会出现类似问题。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-005:Postgres 18的更多LWLock:LockManager基准测试

Planet PostgreSQL
Planet PostgreSQL · 2025-10-09T00:00:00Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-004:快速路径锁定解析

Postgres 18中,快速路径锁的存储方式发生变化,支持根据每个事务的最大锁数动态调整锁的数量,从而缓解多核系统中的锁竞争问题。通过使用私有数组存储弱锁,减少了共享内存的争用,提升了性能。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-004:快速路径锁定解析

Planet PostgreSQL
Planet PostgreSQL · 2025-10-08T00:00:00Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-003:LWLock的根源:锁管理器

锁管理器负责管理重型锁,事务结束时释放。SELECT操作会锁定表及其索引。Postgres 8.2之前,所有锁信息存储在一个哈希表中,导致竞争。为缓解此问题,哈希表被分为16个分区。2011年引入快速路径锁,减少竞争并提升性能。Postgres 18进一步优化以应对分区带来的挑战。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-003:LWLock的根源:锁管理器

Planet PostgreSQL
Planet PostgreSQL · 2025-10-07T00:00:00Z

Let's talk about relation-level locks and various confusions, surprises and what is worth to remember in practice. The key page in Postgres docs describing relation-level locks is here:...

Nikolay Samokhvalov: #PostgresMarathon 2-002: Relation-level locks

Planet PostgreSQL
Planet PostgreSQL · 2025-10-06T00:00:00Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-001:轻量级锁与重型锁

轻量级锁(LWLocks)用于协调共享内存的快速访问,适合读写操作。重型锁用于管理数据库等高层资源的并发访问,直到事务结束。锁管理器负责重型锁的管理,用户可以监控锁的获取情况。锁争用可能由资源不足或配置不当引起。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-001:轻量级锁与重型锁

Planet PostgreSQL
Planet PostgreSQL · 2025-10-05T00:00:00Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码