小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ
沉浸式翻译 immersive translate
Dify.AI

本文介绍一组PostgreSQL恢复测试脚本,核心结论是pg_dump/pg_restore后数据库并未就绪,需手动维护。测试比较了VACUUM、VACUUM FREEZE、ANALYZE等选项的耗时与WAL开销,并验证autovacuum能否自动补做。分区父表的统计信息需单独执行ANALYZE,vacuumdb --analyze会跳过父表。调查28篇文档,仅8篇建议ANALYZE、3篇建议VACUUM、1篇解释可见性映射,说明官方指南普遍缺失这一关键步骤。

Nikolay Samokhvalov:转储/恢复完成了,接下来呢?

Planet PostgreSQL Planet PostgreSQL · 2026-10-28T04:30:25Z
Chris van Eijk:PostgreSQL 中“事务中空闲”会话:它持有什么

PostgreSQL中“事务中空闲”会话虽不执行语句,但仍持有锁和连接槽,并可能阻止VACUUM清理死行。仅执行SELECT的会话在READ COMMITTED隔离级别下会阻塞ALTER TABLE并连带阻塞后续查询;REPEATABLE READ或已写入的会话还会阻碍清理。该超时默认值为0,可按角色设置idle_in_transaction_session_timeout,超时后连接被终止、事务回滚。

Chris van Eijk:PostgreSQL 中“事务中空闲”会话:它持有什么

Planet PostgreSQL Planet PostgreSQL · 2026-10-16T00:00:00Z

PostgreSQL 删除行后表在磁盘上不会缩小。实测 200 万行表删除一半后仍占 137MB,VACUUM 后不变,VACUUM FULL 才降至 68MB。VACUUM 仅使空间可复用,不归还操作系统。TRUNCATE 比 DELETE 快且 WAL 少,但会锁表且不触发触发器。将 fillfactor 设为 90 可提高 HOT 更新比例,使表更小。

Hollis Varden:删除行对 PostgreSQL 表有什么影响

Planet PostgreSQL Planet PostgreSQL · 2026-10-13T00:00:00Z
Chris van Eijk:在 PostgreSQL 中删除单个租户:级联、批量还是 DROP

实测 PostgreSQL 17 多租户单租户删除:级联删除与逐表删除耗时相同,瓶颈在外键触发器,需为外键列建索引。删除不阻塞其他租户读写,但阻塞该租户写入并阻碍 vacuum。批量删除应按执行计划选批次,过大反而全表扫描更慢。删除后数据库不缩小,空间留给新租户,数据仍残留在 WAL、备份、审计日志中。分区 DROP 最快,但需先删引用分区,且加排他锁,应设 lock_timeout。

Chris van Eijk:在 PostgreSQL 中删除单个租户:级联、批量还是 DROP

Planet PostgreSQL Planet PostgreSQL · 2026-10-01T00:00:00Z
Radim Marek:页级行锁

PostgreSQL 行锁不存于共享内存,而是写入元组头:t_xmax 记录加锁事务 ID,t_infomask 位标记锁类型。四种锁强度由三位编码,FOR UPDATE 与键更新、删除冲突。多事务同时加锁时用 MultiXactId 指向磁盘成员列表,外键检查自动加 FOR KEY SHARE。锁提交后标记仍留在页上,直到 VACUUM 清理。大量短事务与长事务并发会快速消耗 multixact 成员空间,需监控避免超限。

Radim Marek:页级行锁

Planet PostgreSQL Planet PostgreSQL · 2026-09-17T05:00:52Z
每次更新都会留下幽灵:PostgreSQL中的MVCC、膨胀与VACUUM

PostgreSQL通过MVCC实现多版本并发控制,每次更新会保留旧版本元组,导致表膨胀。事务使用XID和命令ID跟踪可见性,快照隔离决定数据可见性。VACUUM清理死元组,但受事务地平线限制,长事务会阻止清理。子事务和HOT链影响清理效率,需定期维护以避免性能下降。

每次更新都会留下幽灵:PostgreSQL中的MVCC、膨胀与VACUUM

PlanetScale - Blog PlanetScale - Blog · 2026-07-20T00:00:00Z
Radim Marek:页面级别的VACUUM

本文讨论了PostgreSQL中的VACUUM过程,包括堆扫描、索引清理和堆清理三个阶段。VACUUM通过清理死元组和更新可见性图来回收空间,提高数据库性能。文章还强调了VACUUM与VACUUM FULL的区别,后者用于压缩文件大小。

Radim Marek:页面级别的VACUUM

Planet PostgreSQL Planet PostgreSQL · 2026-07-05T14:31:03Z

Codex 将本地日志写入 logs_2.sqlite,导致数据库膨胀超 1GB,且无公开的日志保留或大小限制配置。作者用 SQLite 触发器拦截 logs 表插入以阻止新日志写入,并给出 Windows 版本、恢复写入及 VACUUM 清理旧日志的方法。该方案只是临时止损,会削弱本地调试能力,长期仍需官方提供日志保留设置。

用触发器阻止 Codex SQLite 日志增长

https://blog.ferstar.org/en/index.xml https://blog.ferstar.org/en/index.xml · 2026-06-20T08:55:00Z
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
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

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

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

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