Dump only the object definitions (schema), not data or statistics.
</para>
<para>
- This option is mutually exclusive to <option>--data-only</option>
- and <option>--statistics-only</option>.
+ This option cannot be used with <option>--data-only</option>
+ or <option>--statistics-only</option>.
It is similar to, but for historical reasons not identical to,
specifying
<option>--section=pre-data --section=post-data</option>.
</para>
<para>
- The dump file produced by <application>pg_dump</application>
- does not contain the statistics used by the optimizer to make
- query planning decisions. Therefore, it is wise to run
- <command>ANALYZE</command> after restoring from a dump file
- to ensure optimal performance; see <xref linkend="vacuum-for-statistics"/>
- and <xref linkend="autovacuum"/> for more information.
+ By default, <command>pg_dump</command> will include most optimizer
+ statistics in the resulting dump file. However, some statistics may not be
+ included, such as those created explicitly with <xref
+ linkend="sql-createstatistics"/> or custom statistics added by an
+ extension. Therefore, it may be useful to run <command>ANALYZE</command>
+ after restoring from a dump file to ensure optimal performance; see <xref
+ linkend="vacuum-for-statistics"/> and <xref linkend="autovacuum"/> for more
+ information.
</para>
<para>
</para>
<para>
- Once restored, it is wise to run <command>ANALYZE</command> on each
- database so the optimizer has useful statistics. You
- can also run <command>vacuumdb -a -z</command> to analyze all
- databases.
+ By default, <command>pg_dumpall</command> will include most optimizer
+ statistics in the resulting dump file. However, some statistics may not be
+ included, such as those created explicitly with <xref
+ linkend="sql-createstatistics"/> or custom statistics added by an
+ extension. Therefore, it may be useful to run <command>ANALYZE</command>
+ on each database after restoring from a dump file to ensure optimal
+ performance. You can also run <command>vacuumdb -a -z</command> to analyze
+ all databases.
</para>
<para>
to the extent that schema entries are present in the archive.
</para>
<para>
- This option is mutually exclusive of <option>--data-only</option>
- and <option>--statistics-only</option>.
+ This option cannot be used with <option>--data-only</option>
+ or <option>--statistics-only</option>.
It is similar to, but for historical reasons not identical to,
specifying
<option>--section=pre-data --section=post-data --no-statistics</option>.
</para>
<para>
- Once restored, it is wise to run <command>ANALYZE</command> on each
- restored table so the optimizer has useful statistics; see
- <xref linkend="vacuum-for-statistics"/> and
- <xref linkend="autovacuum"/> for more information.
+ By default, <command>pg_restore</command> will restore optimizer statistics
+ if included in the dump file. If not all statistics were restored, it may
+ be useful to run <command>ANALYZE</command> on each restored table so the
+ optimizer has useful statistics; see <xref
+ linkend="vacuum-for-statistics"/> and <xref linkend="autovacuum"/> for more
+ information.
</para>
</refsect1>
<title>Statistics</title>
<para>
- Because optimizer statistics are not transferred by <command>pg_upgrade</command>, you will
- be instructed to run a command to regenerate that information at the end
- of the upgrade. You might need to set connection parameters to
- match your new cluster.
+ Unless the <option>--no-statistics</option> option is specified,
+ <command>pg_upgrade</command> will transfer most optimizer statistics
+ from the old cluster to the new cluster. However, some statistics may
+ not be transferred, such as those created explicitly with <xref
+ linkend="sql-createstatistics"/> or custom statistics added by an
+ extension.
+ </para>
+
+ <para>
+ Because not all statistics are not transferred by
+ <command>pg_upgrade</command>, you will be instructed to run a command to
+ regenerate that information at the end of the upgrade. You might need to
+ set connection parameters to match your new cluster.
</para>
<para>
}
pg_log(PG_REPORT,
- "Optimizer statistics are not transferred by pg_upgrade.\n"
+ "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", new_cluster.bindir, user_specification.data);