小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • 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
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-001:轻量级锁与重型锁

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

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

Planet PostgreSQL
Planet PostgreSQL · 2025-10-05T00:00:00Z
Brickster声音:认识辛迪·尼古拉,全球人才招聘副总裁

Cindy Nicola分享了她的职业旅程,强调在快速增长的公司中领导力的重要性。她认为,真正的领导者应创造清晰的环境,支持团队成长,并关注自身的身心健康。成功的招聘能塑造公司的未来,领导者应围绕优秀人才构建团队。

Brickster声音:认识辛迪·尼古拉,全球人才招聘副总裁

Databricks
Databricks · 2025-09-25T07:14:50Z
尼古拉·萨莫赫瓦洛夫:自驾Postgres

Postgres AI正在开发开源自驾Postgres(SDP),旨在实现数据库管理的高度自动化。通过分析20多个项目,确定了25个关键自动化特性,重点关注自动索引健康管理、成本优化和数据生命周期管理,以提高效率和可靠性。目标是实现3-4级自动化,降低成本并提升系统稳定性。

尼古拉·萨莫赫瓦洛夫:自驾Postgres

Planet PostgreSQL
Planet PostgreSQL · 2025-07-25T16:57:53Z
尼古拉·萨莫赫瓦洛夫:介绍Postgres实用指南:应对实际数据库挑战的实用指南

我们发布了Postgres实用指南,针对PostgreSQL的实际挑战,提供性能优化和数据库管理等解决方案。每个指南标注难度级别和阅读时间,欢迎社区贡献,计划根据反馈持续扩展资源。

尼古拉·萨莫赫瓦洛夫:介绍Postgres实用指南:应对实际数据库挑战的实用指南

Planet PostgreSQL
Planet PostgreSQL · 2025-07-24T20:48:15Z
尼古拉·萨莫赫瓦洛夫:Postgres AI Checkup服务:专家主导、AI辅助的全面数据库健康评估

Postgres AI Checkup服务提供专家主导的数据库健康评估,帮助初创企业解决性能问题。通过AI辅助检查,识别问题并提供具体建议,确保数据库高效运行。

尼古拉·萨莫赫瓦洛夫:Postgres AI Checkup服务:专家主导、AI辅助的全面数据库健康评估

Planet PostgreSQL
Planet PostgreSQL · 2025-07-23T20:00:00Z
达里亚·尼古拉延科:PostgreSQL中的数据归档与保留。大数据集的最佳实践

在PostgreSQL中,最佳的数据归档和保留实践包括分区、压缩和归档。分区提高查询性能并简化清理,压缩节省存储空间并提升写入性能,归档将旧数据移至低成本存储。自动化管理数据生命周期,确保高效处理大数据集。

达里亚·尼古拉延科:PostgreSQL中的数据归档与保留。大数据集的最佳实践

Planet PostgreSQL
Planet PostgreSQL · 2025-05-20T17:08:42Z
达里亚·尼古拉延科:在PostgreSQL中驯服大型数据集:无痛的归档与保留

PostgreSQL数据库会无声增长,导致查询变慢。通过分区、压缩和自动化策略,可以有效管理数据,提升查询效率、节省存储空间,并将冷数据迁移至低成本系统。合理的保留策略确保数据合规且易于维护。

达里亚·尼古拉延科:在PostgreSQL中驯服大型数据集:无痛的归档与保留

Planet PostgreSQL
Planet PostgreSQL · 2025-04-28T11:16:52Z
特朗普赦免前尼古拉汽车首席执行官特雷弗·米尔顿

特朗普总统已赦免尼古拉汽车创始人特雷弗·米尔顿。米尔顿因欺诈投资者而被定罪,曾被判四年监禁。他被指控虚假宣传尼古拉电动卡车的能力,并伪造视频。尼古拉公司因财务问题已申请破产。

特朗普赦免前尼古拉汽车首席执行官特雷弗·米尔顿

The Verge
The Verge · 2025-03-28T15:39:55Z

尼古拉公司面临破产,创始人因诈骗入狱。曾市值超300亿美元,但因财务危机和信任缺失,股价跌至0.4美分。尽管推出氢能卡车,仍未能扭转局面,资金即将耗尽。

明星造车公司破产在即:巅峰市值2000亿,创始人因诈骗锒铛入狱

量子位
量子位 · 2025-02-08T08:13:45Z
尼古拉·萨莫克瓦洛夫:AI辅助的Postgres实验:分区数量与规划时间

在最近的PostgresFM节目中,讨论了分区数量对规划时间的影响。实验显示,随着分区数量增加,规划时间线性增长。在Postgres 16中,1000个分区的规划时间为12毫秒,而执行时间仅为0.354毫秒。对于OLTP应用,这种延迟显著。建议保持分区数量低于1000个,并监控规划时间。使用准备好的语句可能减少规划频率,但需谨慎分析。

尼古拉·萨莫克瓦洛夫:AI辅助的Postgres实验:分区数量与规划时间

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

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

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
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码