mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03: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>
|
<para>
|
||||||
Because not all statistics are not transferred by
|
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
|
regenerate that information at the end of the upgrade. You might need to
|
||||||
set connection parameters to match your new cluster.
|
set connection parameters to match your new cluster.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Using <command>vacuumdb --all --analyze-only --missing-stats-only</command>
|
First, use
|
||||||
can efficiently generate such statistics. Alternatively,
|
|
||||||
<command>vacuumdb --all --analyze-in-stages --missing-stats-only</command>
|
<command>vacuumdb --all --analyze-in-stages --missing-stats-only</command>
|
||||||
can be used to generate minimal statistics quickly. For either command,
|
to quickly generate minimal optimizer statistics for relations without
|
||||||
the use of <option>--jobs</option> can speed it up.
|
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
|
If <varname>vacuum_cost_delay</varname> is set to a non-zero
|
||||||
value, this can be overridden to speed up statistics generation
|
value, this can be overridden to speed up statistics generation
|
||||||
using <envar>PGOPTIONS</envar>, e.g., <literal>PGOPTIONS='-c
|
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,
|
pg_log(PG_REPORT,
|
||||||
"Some optimizer statistics may not have been transferred by pg_upgrade.\n"
|
"Some statistics are not transferred by pg_upgrade.\n"
|
||||||
"Once you start the new server, consider running:\n"
|
"Once you start the new server, consider running these two commands:\n"
|
||||||
" %s/vacuumdb %s--all --analyze-in-stages --missing-stats-only", new_cluster.bindir, user_specification.data);
|
" %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)
|
if (deletion_script_file_name)
|
||||||
pg_log(PG_REPORT,
|
pg_log(PG_REPORT,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user