Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-06-18 13:24:14 -0400, Tom Lane wrote:
>> Andres Freund <andres@2ndquadrant.com> writes:
>>> On 2014-06-18 12:51:43 -0400, Tom Lane wrote:
>>>> Another angle is that some folks might have tried to automate things
>>>> even more, with a wrapper script that starts up the new postmaster
>>>> and runs analyze_new_cluster.sh all by itself. I guess they could
>>>> make the wrapper do "vacuumdb --all --analyze-in-stages" directly,
>>>> though, so maybe that's not a fatal objection either.
>>> Wouldn't that be quite counterproductive? The reason we don't normally
>>> do that and why --analyze-in-stages exists is that the cluster should be
>>> started up as fast as possible. Restarting it after ANALYZE went through
>>> would be defeating that purpose, no?
>> How so? Once you've started the postmaster, you're open for business,
>> no?
> Wasn't there lots of talk about making the server inaccessible while
> pg_upgrade is doing its thing? Also, many people are desparately unhappy
> if postgres has to be restarted (to return to be being OS managed) after
> their application already has connected.
I think we're not on the same page. My point is that someone might want
to automate the whole sequence: stop old postmaster, run pg_upgrade, start
the updated postmaster normally (hence it *is* open for business), kick
off the analyze runs. If you're concerned about minimal downtime you
would not want to be waiting around for the admin to issue a perfectly
predictable series of commands.
regards, tom lane