Alvaro Herrera <alvherre@alvh.no-ip.org> writes: > On 2024-Nov-27, Bruce Momjian wrote: >> Would there be a default?
> There would be no default. Running with no option given would raise an > error. The point is: you want to break scripts currently running > --analyze-in-stages so that they can make a choice of which of these two > modes to run. Your proposal (as I understand it) is to remove the > --analyze-in-stages option and add two other options. My proposal is to > keep --analyze-in-stages, but require it to have a specifier of which > mode to run. Both achieve what you want, but I think mine achieves it > in a cleaner way.
I do not like the idea of breaking existing upgrade scripts, especially not by requiring them to use a parameter that older vacuumdb versions will reject. That makes it impossible to have a script that is version independent. I really doubt that there is any usability improvement to be had here that's worth that.
How about causing "--analyze-in-stages" (as currently spelled) to be a no-op? We could keep the behavior available under some other name.
If we're doing that we might as well make this be the "when missing".
If we make it do nothing then we surprise the users of it today just as much as we do if we make it "when missing". And it would actually solve the problem for the others. But the point was that people didn't like silently changing the behavior of the existing parameter - and making it a noop would change it even more.