diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml index b280859deaa386b6599c733fa3dfd94249fa762f..f9e45ec3d8c5300ea4647cfd8c919a7d2f95e141 100644 --- a/doc/src/sgml/backup.sgml +++ b/doc/src/sgml/backup.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/backup.sgml,v 2.129 2009/06/26 22:06:11 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/backup.sgml,v 2.130 2009/08/07 20:54:31 alvherre Exp $ --> <chapter id="backup"> <title>Backup and Restore</title> @@ -168,10 +168,10 @@ pg_dump -h <replaceable>host1</> <replaceable>dbname</> | psql -h <replaceable>h <para> After restoring a backup, it is wise to run <xref linkend="sql-analyze" endterm="sql-analyze-title"> on each - database so the query optimizer has useful statistics. An easy way - to do this is to run <command>vacuumdb -a -z</>; this is - equivalent to running <command>VACUUM ANALYZE</> on each database - manually. For more advice on how to load large amounts of data + database so the query optimizer has useful statistics; + see <xref linkend="vacuum-for-statistics" endterm="vacuum-for-statistics-title"> + and <xref linkend="autovacuum" endterm="autovacuum-title"> for more information. + For more advice on how to load large amounts of data into <productname>PostgreSQL</> efficiently, refer to <xref linkend="populate">. </para> diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml index 974e1415f658733349a74f333766108f0f628356..7801b099f2235b5ff90c23dc908d62ff8e98bb7b 100644 --- a/doc/src/sgml/indices.sgml +++ b/doc/src/sgml/indices.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.78 2009/06/17 21:58:49 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.79 2009/08/07 20:54:31 alvherre Exp $ --> <chapter id="indexes"> <title id="indexes-title">Indexes</title> @@ -1025,7 +1025,9 @@ SELECT am.amname AS index_method, real statistics, some default values are assumed, which are almost certain to be inaccurate. Examining an application's index usage without having run <command>ANALYZE</command> is - therefore a lost cause. + therefore a lost cause. + See <xref linkend="vacuum-for-statistics" endterm="vacuum-for-statistics-title"> + and <xref linkend="autovacuum" endterm="autovacuum-title"> for more information. </para> </listitem> diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 019d3f2c5712173b89091e7461a1635ae63d4eff..80b6365226b8377b4678f924f9ad8fc921751958 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.95 2009/06/17 13:59:28 petere Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.96 2009/08/07 20:54:31 alvherre Exp $ --> <chapter id="maintenance"> <title>Routine Database Maintenance Tasks</title> @@ -253,7 +253,7 @@ </sect2> <sect2 id="vacuum-for-statistics"> - <title>Updating Planner Statistics</title> + <title id="vacuum-for-statistics-title">Updating Planner Statistics</title> <indexterm zone="vacuum-for-statistics"> <primary>statistics</primary> diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml index 1a631d3d91f2cc0de5962206227fb00992f30bb3..d1ae3efb33049100a9829ffca907456184ff9d13 100644 --- a/doc/src/sgml/perform.sgml +++ b/doc/src/sgml/perform.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/perform.sgml,v 1.71 2009/06/17 21:58:49 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/perform.sgml,v 1.72 2009/08/07 20:54:31 alvherre Exp $ --> <chapter id="performance-tips"> <title>Performance Tips</title> @@ -974,7 +974,10 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; table. With no statistics or obsolete statistics, the planner might make poor decisions during query planning, leading to poor performance on any tables with inaccurate or nonexistent - statistics. + statistics. Note that if the autovacuum daemon is enabled, it might + run <command>ANALYZE</command> automatically; see + <xref linkend="vacuum-for-statistics" endterm="vacuum-for-statistics-title"> + and <xref linkend="autovacuum" endterm="autovacuum-title"> for more information. </para> </sect2> @@ -1054,7 +1057,9 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; while loading the data, but don't bother increasing <varname>maintenance_work_mem</varname>; rather, you'd do that while manually recreating indexes and foreign keys afterwards. - And don't forget to <command>ANALYZE</> when you're done. + And don't forget to <command>ANALYZE</> when you're done; see + <xref linkend="vacuum-for-statistics" endterm="vacuum-for-statistics-title"> + and <xref linkend="autovacuum" endterm="autovacuum-title"> for more information. </para> </sect2> </sect1> diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 0f5068ef32e50240c00ad9c113d177cde3ab5656..9386ff8109a3aea2e2c633db3c3a10f7b5dfe215 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.113 2009/03/22 16:44:26 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.114 2009/08/07 20:54:31 alvherre Exp $ PostgreSQL documentation --> @@ -834,7 +834,9 @@ CREATE DATABASE foo WITH TEMPLATE template0; 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 good performance. The dump file also does not + to ensure good performance; see <xref linkend="vacuum-for-statistics"> + and <xref linkend="autovacuum"> for more information. + The dump file also does not contain any <command>ALTER DATABASE ... SET</> commands; these settings are dumped by <xref linkend="app-pg-dumpall">, along with database users and other installation-wide settings. diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index 053bcba87da29daea960ba15ccfa6d2bcdd3aed5..73ae4c9438594c03f51f34927280c23ebd021c6f 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.81 2009/03/20 09:21:08 petere Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.82 2009/08/07 20:54:31 alvherre Exp $ --> <refentry id="APP-PGRESTORE"> <refmeta> @@ -679,7 +679,9 @@ CREATE DATABASE foo WITH TEMPLATE template0; <para> Once restored, it is wise to run <command>ANALYZE</> on each - restored table so the optimizer has useful statistics. + restored table so the optimizer has useful statistics; see + <xref linkend="vacuum-for-statistics"> and + <xref linkend="autovacuum"> for more information. </para> </refsect1>