Re: Eager page freeze criteria clarification
От | Peter Geoghegan |
---|---|
Тема | Re: Eager page freeze criteria clarification |
Дата | |
Msg-id | CAH2-Wzm1Y6que2SjoV_iRHQ6UXKaYn9cXWJ_3Fhtag=rYq-4tg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Eager page freeze criteria clarification (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Eager page freeze criteria clarification
|
Список | pgsql-hackers |
On Fri, Sep 1, 2023 at 12:34 PM Robert Haas <robertmhaas@gmail.com> wrote: > If the table > is being vacuumed frequently, then the last-vacuum-LSN will be newer, > which means we'll freeze *more* aggressively. Sort of like how if you set autovacuum_vacuum_scale_factor low enough, with standard pgbench, with heap fill factor tuned, autovacuum will never think that the table doesn't need to be vacuumed. It will continually see enough dead heap-only tuples to get another autovacuum each time. Though there won't be any LP_DEAD items at any point -- regardless of when VACUUM actually runs. When I reported this a couple of years ago, I noticed that autovacuum would spin whenever I set autovacuum_vacuum_scale_factor to 0.02. But autovacuum would *never* run (outside of antiwraparound autovacuums) when it was set just a little higher (perhaps 0.03 or 0.04). So there was some inflection point at which its behavior totally changed. > And I'm not sure why we > want to do that. If the table is being vacuumed a lot, it's probably > also being modified a lot, which suggests that we ought to be more > cautious about freezing, rather than the reverse. Why wouldn't it be both things at the same time, for the same table? Why not also avoid setting pages all-visible? The WAL records aren't too much smaller than most freeze records these days -- 64 bytes on most systems. I realize that the rules for FPIs are a bit different when page-level checksums aren't enabled, but fundamentally it's the same situation. No? -- Peter Geoghegan
В списке pgsql-hackers по дате отправления: