mirror of
https://github.com/postgres/postgres.git
synced 2025-05-12 00:01:58 -04:00
Further adjust guidance for running vacuumdb after pg_upgrade.
Since pg_upgrade does not transfer the cumulative statistics used to trigger autovacuum and autoanalyze, the server may take much longer than expected to process them post-upgrade. Currently, we recommend analyzing only relations for which optimizer statistics were not transferred by using the --analyze-in-stages and --missing-stats-only options. This commit appends another recommendation to analyze all relations to update the relevant cumulative statistics by using the --analyze-only option. This is similar to the recommendation for pg_stat_reset(). Reported-by: Christoph Berg <myon@debian.org> Reviewed-by: Christoph Berg <myon@debian.org> Discussion: https://postgr.es/m/aAfxfKC82B9NvJDj%40msg.df7cb.de
This commit is contained in:
parent
f60420cff6
commit
d5f1b6a75b
@ -833,17 +833,19 @@ psql --username=postgres --file=script.sql postgres
|
||||
|
||||
<para>
|
||||
Because not all statistics are not transferred by
|
||||
<command>pg_upgrade</command>, you will be instructed to run a command to
|
||||
<command>pg_upgrade</command>, you will be instructed to run commands to
|
||||
regenerate that information at the end of the upgrade. You might need to
|
||||
set connection parameters to match your new cluster.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Using <command>vacuumdb --all --analyze-only --missing-stats-only</command>
|
||||
can efficiently generate such statistics. Alternatively,
|
||||
First, use
|
||||
<command>vacuumdb --all --analyze-in-stages --missing-stats-only</command>
|
||||
can be used to generate minimal statistics quickly. For either command,
|
||||
the use of <option>--jobs</option> can speed it up.
|
||||
to quickly generate minimal optimizer statistics for relations without
|
||||
any. Then, use <command>vacuumdb --all --analyze-only</command> to ensure
|
||||
all relations have updated cumulative statistics for triggering vacuum and
|
||||
analyze. For both commands, the use of <option>--jobs</option> can speed
|
||||
it up.
|
||||
If <varname>vacuum_cost_delay</varname> is set to a non-zero
|
||||
value, this can be overridden to speed up statistics generation
|
||||
using <envar>PGOPTIONS</envar>, e.g., <literal>PGOPTIONS='-c
|
||||
|
@ -814,9 +814,12 @@ output_completion_banner(char *deletion_script_file_name)
|
||||
}
|
||||
|
||||
pg_log(PG_REPORT,
|
||||
"Some optimizer statistics may not have been transferred by pg_upgrade.\n"
|
||||
"Once you start the new server, consider running:\n"
|
||||
" %s/vacuumdb %s--all --analyze-in-stages --missing-stats-only", new_cluster.bindir, user_specification.data);
|
||||
"Some statistics are not transferred by pg_upgrade.\n"
|
||||
"Once you start the new server, consider running these two commands:\n"
|
||||
" %s/vacuumdb %s--all --analyze-in-stages --missing-stats-only\n"
|
||||
" %s/vacuumdb %s--all --analyze-only",
|
||||
new_cluster.bindir, user_specification.data,
|
||||
new_cluster.bindir, user_specification.data);
|
||||
|
||||
if (deletion_script_file_name)
|
||||
pg_log(PG_REPORT,
|
||||
|
Loading…
x
Reference in New Issue
Block a user