summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/maintenance.sgml6
-rw-r--r--doc/src/sgml/perform.sgml3
-rw-r--r--doc/src/sgml/ref/analyze.sgml40
-rw-r--r--doc/src/sgml/ref/create_table.sgml8
-rw-r--r--doc/src/sgml/ref/pg_restore.sgml6
5 files changed, 16 insertions, 47 deletions
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index 998a48fc257..36f975b1e5b 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -817,12 +817,6 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
</programlisting>
is compared to the total number of tuples inserted, updated, or deleted
since the last <command>ANALYZE</command>.
- For partitioned tables, inserts, updates and deletes on partitions
- are counted towards this threshold; however, DDL
- operations such as <literal>ATTACH</literal>, <literal>DETACH</literal>
- and <literal>DROP</literal> are not, so running a manual
- <command>ANALYZE</command> is recommended if the partition added or
- removed contains a statistically significant volume of data.
</para>
<para>
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index ddd6c3ff3e0..89ff58338e5 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -1767,8 +1767,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
<para>
Whenever you have significantly altered the distribution of data
within a table, running <link linkend="sql-analyze"><command>ANALYZE</command></link> is strongly recommended. This
- includes bulk loading large amounts of data into the table as well as
- attaching, detaching or dropping partitions. Running
+ includes bulk loading large amounts of data into the table. Running
<command>ANALYZE</command> (or <command>VACUUM ANALYZE</command>)
ensures that the planner has up-to-date statistics about the
table. With no statistics or obsolete statistics, the planner might
diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml
index 176c7cb2256..c8fcebc1612 100644
--- a/doc/src/sgml/ref/analyze.sgml
+++ b/doc/src/sgml/ref/analyze.sgml
@@ -250,38 +250,20 @@ ANALYZE [ VERBOSE ] [ <replaceable class="parameter">table_and_columns</replacea
</para>
<para>
- If the table being analyzed is partitioned, <command>ANALYZE</command>
- will gather statistics by sampling blocks randomly from its partitions;
- in addition, it will recurse into each partition and update its statistics.
- (However, in multi-level partitioning scenarios, each leaf partition
- will only be analyzed once.)
- By contrast, if the table being analyzed has inheritance children,
- <command>ANALYZE</command> will gather statistics for it twice:
- once on the rows of the parent table only, and a second time on the
- rows of the parent table with all of its children. This second set of
- statistics is needed when planning queries that traverse the entire
- inheritance tree. The child tables themselves are not individually
- analyzed in this case.
+ If the table being analyzed has one or more children,
+ <command>ANALYZE</command> will gather statistics twice: once on the
+ rows of the parent table only, and a second time on the rows of the
+ parent table with all of its children. This second set of statistics
+ is needed when planning queries that traverse the entire inheritance
+ tree. The autovacuum daemon, however, will only consider inserts or
+ updates on the parent table itself when deciding whether to trigger an
+ automatic analyze for that table. If that table is rarely inserted into
+ or updated, the inheritance statistics will not be up to date unless you
+ run <command>ANALYZE</command> manually.
</para>
<para>
- The autovacuum daemon counts inserts, updates and deletes in the
- partitions to determine if auto-analyze is needed. However, adding
- or removing partitions does not affect autovacuum daemon decisions,
- so triggering a manual <command>ANALYZE</command> is recommended
- when this occurs.
- </para>
-
- <para>
- Tuples changed in inheritance children do not count towards analyze
- on the parent table. If the parent table is empty or rarely modified,
- it may never be processed by autovacuum. It's necessary to
- periodically run a manual <command>ANALYZE</command> to keep the
- statistics of the table hierarchy up to date.
- </para>
-
- <para>
- If any of the child tables or partitions are foreign tables whose foreign data wrappers
+ If any of the child tables are foreign tables whose foreign data wrappers
do not support <command>ANALYZE</command>, those child tables are ignored while
gathering inheritance statistics.
</para>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 15aed2f2515..473a0a4aebd 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1374,8 +1374,8 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
If a table parameter value is set and the
equivalent <literal>toast.</literal> parameter is not, the TOAST table
will use the table's parameter value.
- Except where noted, these parameters are not supported on partitioned
- tables; however, you can specify them on individual leaf partitions.
+ Specifying these parameters for partitioned tables is not supported,
+ but you may specify them for individual leaf partitions.
</para>
<variablelist>
@@ -1457,8 +1457,6 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
If true, the autovacuum daemon will perform automatic <command>VACUUM</command>
and/or <command>ANALYZE</command> operations on this table following the rules
discussed in <xref linkend="autovacuum"/>.
- This parameter can be set for partitioned tables to prevent autovacuum
- from running <command>ANALYZE</command> on them.
If false, this table will not be autovacuumed, except to prevent
transaction ID wraparound. See <xref linkend="vacuum-for-wraparound"/> for
more about wraparound prevention.
@@ -1590,7 +1588,6 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
Per-table value for <xref linkend="guc-autovacuum-analyze-threshold"/>
parameter.
- This parameter can be set for partitioned tables.
</para>
</listitem>
</varlistentry>
@@ -1606,7 +1603,6 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
Per-table value for <xref linkend="guc-autovacuum-analyze-scale-factor"/>
parameter.
- This parameter can be set for partitioned tables.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index 35cd56297c8..93ea937ac8e 100644
--- a/doc/src/sgml/ref/pg_restore.sgml
+++ b/doc/src/sgml/ref/pg_restore.sgml
@@ -922,10 +922,8 @@ CREATE DATABASE foo WITH TEMPLATE template0;
<para>
Once restored, it is wise to run <command>ANALYZE</command> on each
- restored table so the optimizer has useful statistics.
- If the table is a partition or an inheritance child, it may also be useful
- to analyze the parent to update statistics for the table hierarchy.
- See <xref linkend="vacuum-for-statistics"/> and
+ restored table so the optimizer has useful statistics; see
+ <xref linkend="vacuum-for-statistics"/> and
<xref linkend="autovacuum"/> for more information.
</para>