On Fri, 13 Mar 2026 at 08:20, Nathan Bossart <[email protected]> wrote: > I'm debating whether I should move forward with committing this [0] for > v19. On one hand, I think I've addressed all the latest feedback, and I'm > not aware of any sustained objections to the approach. But on the other > hand, there hasn't been much discussion since November (my fault), and I > can't quite tell if this patch has enough support. At the moment, I'm > leaning towards committing it, but I'm curious what folks think.
I think it would have been better to have done this about 3 months ago, but I think it's probably still fine to do now. Feature freeze is still quite a long way from release. I do expect that the most likely time that someone would find issues with this change would be during beta or RC, as that's when people would give PostgreSQL production workloads to try out. During the dev cycle, I expect it's *mostly* just hackers giving the database toy workloads in a very targeted way to something specific that they're hacking on. Anyway, now since you've added the GUCs to control the weights, there's a way for users to have some influence, so at least there's an escape hatch. I think the GUCs are probably a good idea. I expect the most likely change that people might want to make would be to raise the priority of analyze over vacuum since that's often much faster to complete. We know that some workloads are very sensitive to outdated statistics. On the other hand, we shouldn't be taking adding 5 new autovacuum GUCs lightly as there are already so many. If we are going to come up with something better than this in a few years then it could be better to wait to reduce the pain of having to remove GUCs in the future. I don't personally have any better ideas, so I'd rather see it go in than not. I didn't look at the patch in detail, but noticed that you might want to add a "See Section N.N.N for more information." to the new GUCs to link to the text you've added on how they're used. Do you think it's worth making the call to list_sort(tables_to_process, TableToProcessComparator) conditional on a variable set like: sort_required |= (score != 0.0);? I recall that someone had concerns that the actual sort itself could add overhead. David
