小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
沉浸式翻译 immersive translate
尼古拉·萨莫赫瓦洛夫:#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 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码