NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Vacuum at the Page Level (boringsql.com)
haeseong 3 days ago [-]
The byte by byte view makes the failure mode people run into easier to explain. VACUUM can never remove a tuple whose xmax is newer than the oldest snapshot still open, so one forgotten idle transaction or an abandoned replication slot pins that horizon and every autovacuum pass does a full scan while reclaiming almost nothing. When a table keeps bloating even though autovacuum looks healthy, backend_xmin in pg_stat_activity and xmin in pg_replication_slots are the first two places to check.
radimm 3 days ago [-]
Thank you! And you are right. Many people forgot about idle-in-transaction backends.
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 14:24:28 GMT+0000 (Coordinated Universal Time) with Vercel.