zlacker

[return to "The part of Postgres we hate the most: Multi-version concurrency control"]
1. sppras+Ul[view] [source] 2023-04-26 18:52:24
>>andren+(OP)
This post has a valid point. But the last line makes it clear why they care so much about it.

Yeah, table bloat and transaction ID wraparounds are terrible, but easily avoidable if you follow a few simple guidelines. Typically in my experience, best way to avoid these issues are to set sensible vacuum settings and track long running queries.

I do hate the some of the defaults in the Postgres configuration are too conservative for most workloads.

◧◩
2. spudly+MZ[view] [source] 2023-04-26 22:21:31
>>sppras+Ul
> "But making sure that PostgreSQL’s autovacuum is running as best as possible is difficult due to its complexity."

The problem, as the article states it, is that a "sensible" vacuum setting for one table is a terrible setting for another depending on how large these tables are. On a 100 million tuple table you'd be waiting 'til there there were 20 million garbage tuples before taking action.

◧◩◪
3. Icathi+yY4[view] [source] 2023-04-28 00:15:25
>>spudly+MZ
You can set autovacuum reloptions on a per-table basis, if they differ that much for your your use case.
[go to top]