Skip to content

Commit 3698c44

Browse files
author
Amit Kapila
committed
Doc: document autovacuum interruption.
It's important users be able to know (without looking at the source code) that running DDL or DDL-like commands can interrupt autovacuum which can lead to a lot of dead tuples and hence slower database operations. Reported-by: James Coleman Author: James Coleman Reviewed-by: Amit Kapila Backpatch-through: 9.4 Discussion:https://postgr.es/m/CAAaqYe-XYyNwML1=f=gnd0qWg46PnvD=BDrCZ5-L94B887XVxQ@mail.gmail.com
1 parent e8c7f40 commit 3698c44

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

doc/src/sgml/maintenance.sgml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,26 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
824824
<literal>autovacuum_vacuum_cost_limit</> have been set are not considered
825825
in the balancing algorithm.
826826
</para>
827+
828+
<para>
829+
Autovacuum workers generally don't block other commands. If a process
830+
attempts to acquire a lock that conficts with the
831+
<literal>SHARE UPDATE EXCLUSIVE</literal> lock held by autovacuum, lock
832+
acquisition will interrupt the autovacuum. For conflicting lock modes,
833+
see <xref linkend="table-lock-compatibility">. However, if the autovacuum
834+
is running to prevent transaction ID wraparound (i.e., the autovacuum query
835+
name in the <structname>pg_stat_activity</structname> view ends with
836+
<literal>(to prevent wraparound)</literal>), the autovacuum is not
837+
automatically interrupted.
838+
</para>
839+
840+
<warning>
841+
<para>
842+
Regularly running commands that acquire locks conflicting with a
843+
<literal>SHARE UPDATE EXCLUSIVE</literal> lock (e.g., ANALYZE) can
844+
effectively prevent autovacuums from ever completing.
845+
</para>
846+
</warning>
827847
</sect2>
828848
</sect1>
829849

0 commit comments

Comments
 (0)