小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
Shinya Kato:5种常见的PostgreSQL锁行为导致的困扰

PostgreSQL的锁机制可能导致阻塞和死锁。文章讨论了五种常见的锁行为,包括ACCESS EXCLUSIVE锁的排队、外键约束引发的隐性死锁、唯一约束检查导致的死锁、自动清理的特殊行为以及VACUUM的隐藏ACCESS EXCLUSIVE阶段。建议通过设置锁超时和监控活动来减轻这些问题。

Shinya Kato:5种常见的PostgreSQL锁行为导致的困扰

Planet PostgreSQL
Planet PostgreSQL · 2026-05-26T20:00:00Z

Autovacuum's most powerful tuning lever: the scale factor that determines when dead tuples trigger a vacuum. On large tables, the 20% default waits too long.

Christophe Pettus: All Your GUCs in a Row: autovacuum_vacuum_scale_factor and autovacuum_vacuum_threshold

Planet PostgreSQL
Planet PostgreSQL · 2026-05-10T01:00:00Z

PostgreSQL 18 finally fixes the autovacuum formula that left billion-row tables waiting for 200M dead tuples.

Christophe Pettus: All Your GUCs in a Row: autovacuum_vacuum_max_threshold

Planet PostgreSQL
Planet PostgreSQL · 2026-05-09T01:00:00Z

PostgreSQL 13 added insert-triggered autovacuum to solve a critical problem: append-only tables never vacuumed, breaking index-only scans and delaying tuple…

Christophe Pettus: All Your GUCs in a Row: autovacuum_vacuum_insert_scale_factor and autovacuum_vacuum_insert_threshold

Planet PostgreSQL
Planet PostgreSQL · 2026-05-08T01:00:00Z

Three autovacuum parameters control how often PostgreSQL vacuums, how hard it works, and how long it pauses.

Christophe Pettus: All Your GUCs in a Row: autovacuum_naptime, autovacuum_vacuum_cost_delay, autovacuum_vacuum_cost_limit

Planet PostgreSQL
Planet PostgreSQL · 2026-05-07T01:00:00Z
拉迪姆·马雷克:逐字解析PostgreSQL的多版本并发控制(MVCC)

PostgreSQL的多版本并发控制(MVCC)允许读者和写者并行操作而不互相阻塞。每个元组包含两个事务ID(t_xmin和t_xmax),用于确定可见性。更新操作创建新版本并标记旧版本,VACUUM负责清理无效元组,但长时间运行的事务可能会阻止清理,导致空间浪费。不同的隔离级别影响快照的捕获时机,从而影响查询结果。

拉迪姆·马雷克:逐字解析PostgreSQL的多版本并发控制(MVCC)

Planet PostgreSQL
Planet PostgreSQL · 2026-04-17T13:15:59Z
加藤信也:PostgreSQL中表膨胀的四个原因及其解决方法

PostgreSQL中的表膨胀是由于UPDATE或DELETE操作产生的“死元组”未被VACUUM回收,导致数据文件增大。造成膨胀的原因包括长时间运行的事务、未提交的准备事务、启用hot_standby_feedback的备用服务器查询和逻辑复制延迟。解决方法是终止阻止VACUUM的事务或查询。

加藤信也:PostgreSQL中表膨胀的四个原因及其解决方法

Planet PostgreSQL
Planet PostgreSQL · 2026-01-20T08:55:13Z
Radim Marek: VACUUM是个谎言(关于你的索引)

许多开发者误以为运行VACUUM可以保持PostgreSQL数据库健康,但VACUUM只能删除死元组,无法重组B树索引,导致索引膨胀。处理堆膨胀适合使用VACUUM,而索引膨胀则需手动使用REINDEX。应监控索引状态,及时处理膨胀问题。

Radim Marek: VACUUM是个谎言(关于你的索引)

Planet PostgreSQL
Planet PostgreSQL · 2025-12-11T23:30:53Z
Laurenz Albe:如何处理“数据库不接受命令”错误

PostgreSQL中的“数据库不接受命令”错误通常与事务ID环绕有关。解决方法包括处理旧的准备事务、结束长时间运行的事务、删除过期的复制槽,并执行VACUUM命令。避免使用单用户模式和VACUUM FULL,以减少停机时间,并确保自动清理配置正确,以防未来问题。

Laurenz Albe:如何处理“数据库不接受命令”错误

Planet PostgreSQL
Planet PostgreSQL · 2025-09-16T06:00:42Z
克里斯托夫·贝尔格:一次充满惊喜的维也纳之旅

我从杜塞尔多夫机场出发前往pgday.at,因技术问题延误,但最终顺利抵达维也纳。在会议上,我意外成为演讲者,分享了现代PostgreSQL VACUUM的内容。活动精彩,结识了许多社区成员,最后在博物馆度过了愉快的早晨。

克里斯托夫·贝尔格:一次充满惊喜的维也纳之旅

Planet PostgreSQL
Planet PostgreSQL · 2025-09-11T05:43:06Z
克里斯托夫·贝尔格:从VACUUM到德国铁路:PGConf.DE 2025上最意想不到的时刻

在PGConf.DE会议前,我参加了汉堡的Debian MiniDebConf,随后前往柏林。会议吸引了340名与会者,讨论了PostgreSQL的VACUUM演变、现代SSL和高可用性策略等主题,促进了社区交流。尽管回程遇到交通堵塞,但整体经历丰富而有意义。

克里斯托夫·贝尔格:从VACUUM到德国铁路:PGConf.DE 2025上最意想不到的时刻

Planet PostgreSQL
Planet PostgreSQL · 2025-05-14T13:31:56Z

I am (slowly) adding handy PostgreSQL queries to my GitHub, and Vacuum is the newest category.  The end goal is to have a compilation of queries for those of us who need to keep an instance...

Dave Stokes: Queries on Vacuum

Planet PostgreSQL
Planet PostgreSQL · 2025-04-30T15:22:00Z
Grant Fritchey:PostgreSQL中的多版本并发控制(MVCC):与Grant一起学习PostgreSQL

PostgreSQL通过多版本并发控制(MVCC)实现ACID属性,确保读取和写入操作不互相阻塞。MVCC利用事务ID创建数据快照,支持已提交读、可重复读和可串行化三种隔离级别。VACUUM过程负责清理逻辑删除的行,以维护数据库性能。

Grant Fritchey:PostgreSQL中的多版本并发控制(MVCC):与Grant一起学习PostgreSQL

Planet PostgreSQL
Planet PostgreSQL · 2025-04-02T20:52:05Z
PostgreSQL性能问题的三大关键:诊断与有效解决方案

缺乏索引是PostgreSQL查询缓慢的主要原因,可能导致全表扫描。通过在相关列上创建索引、定期执行VACUUM清理无效数据、优化查询结构和选择合适的索引类型,可以显著提升查询性能。

PostgreSQL性能问题的三大关键:诊断与有效解决方案

DEV Community
DEV Community · 2025-03-16T18:29:44Z

2025年2月14日,Nathan Bossart提交补丁,增加了VACUUM/ANALYZE(VERBOSE)和自动清理日志的延迟时间信息,更新了pg_stat_progress_vacuum和pg_stat_progress_analyze视图,并在VACUUM和ANALYZE的输出中显示。

Hubert 'depesz' Lubaczewski:等待 PostgreSQL 18 – 为 VACUUM/ANALYZE(VERBOSE)和自动清理日志添加延迟时间

Planet PostgreSQL
Planet PostgreSQL · 2025-02-19T11:40:10Z

2025年2月11日,Nathan Bossart提交补丁,向pg_stat_progress_vacuum和pg_stat_progress_analyze视图添加了基于成本的延迟时间。新增参数track_cost_delay_timing用于收集信息,显示vacuum因成本延迟而睡眠的时间,增强了进度监控的细节。

Hubert 'depesz' Lubaczewski:等待 PostgreSQL 18 - 向进度视图添加基于成本的延迟时间

Planet PostgreSQL
Planet PostgreSQL · 2025-02-13T17:57:02Z
Laurenz Albe:处理PostgreSQL错误“发现xmin ... 在relfrozenxid之前...”

PostgreSQL中的错误“found xmin ... from before relfrozenxid ...”表示数据损坏。表的xmin与relfrozenxid需一致,否则VACUUM操作会失败,可能导致数据丢失。解决方法包括导出恢复表、手动更新relfrozenxid或使用pg_surgery扩展。

Laurenz Albe:处理PostgreSQL错误“发现xmin ... 在relfrozenxid之前...”

Planet PostgreSQL
Planet PostgreSQL · 2025-02-11T05:00:00Z

PostgreSQL 12引入了VACUUM命令的INDEX_CLEANUP选项,但不建议使用。该选项会导致无法清理索引中的死元组,影响查询性能,虽然可以加快速度,但会导致表和索引膨胀。除非紧急情况,否则应避免使用。

克里斯托夫·佩图斯:VACUUM(INDEX_CLEANUP 关闭)被认为有害

Planet PostgreSQL
Planet PostgreSQL · 2025-01-28T15:16:53Z
优化PostgreSQL存储:开发者必须了解的内容

理解PostgreSQL的存储机制对优化至关重要。DELETE和UPDATE操作不会真正删除数据,而是产生“死元组”,影响性能。VACUUM命令清理死元组,但不释放空间;VACUUM FULL可以回收空间,但会锁定表。优化存储可降低成本并提升性能。

优化PostgreSQL存储:开发者必须了解的内容

DEV Community
DEV Community · 2025-01-09T22:08:29Z
Pawsgresville的秘密:消失数据的案件。Postgres索引

在Pawsgresville,私家侦探B-Tree帮助猫咪客户Lайка解决LIKE查询失败的问题,建议使用GIN索引。教授介绍了GIN和GIST处理复杂数据的方法,而BRIN适合大数据。B-Tree强调索引顺序和VACUUM的重要性,以确保数据库高效运行。

Pawsgresville的秘密:消失数据的案件。Postgres索引

DEV Community
DEV Community · 2024-12-23T11:46:29Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

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

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