On Mon, 2022-06-27 at 10:31 +0200, Magnus Hagander wrote: > On Mon, Jun 27, 2022 at 8:31 AM Laurenz Albe <laurenz.a...@cybertec.at> wrote: > > A customer recently pointed me to > > https://www.postgresql.org/docs/current/sql-vacuum.html > > and asked if I agree with the statement there that a nightly > > scheduled VACUUM were a good idea: > > Agred. A nightly vacuum is definitely not something for "most people" anymore. > > But also. "active production databases". Surely we recommend regular vacuum > in *all* > databases when it's primarily driven by autovacuum? At least all active. But > there's nothing special about "production"? Since we're tweaking the wording, > I would suggest removing that reference as well.
You are right. Done in the attached. Yours, Laurenz Albe
From 1f2dd793a522e8e16970d40421264d5dc8aa5e10 Mon Sep 17 00:00:00 2001 From: Laurenz Albe <laurenz.a...@cybertec.at> Date: Mon, 27 Jun 2022 10:50:12 +0200 Subject: [PATCH] Remove outdated recommendation for manual VACUUM We have been having a working and highly tunable autovacuum for at least a decade now, so remove the recommendation to vacuum tables at least every night. Autovacuum is now also triggered by INSERTs, so we can also remove the recommendation to run VACUUM (ANALYZE) after lots of INSERTs or DELETEs. Instead, suggest using autovacuum by moving the respective paragraph up to where the importance of VACUUM is emphasized. --- doc/src/sgml/ref/vacuum.sgml | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml index 3df32b58ee..c582021d29 100644 --- a/doc/src/sgml/ref/vacuum.sgml +++ b/doc/src/sgml/ref/vacuum.sgml @@ -377,15 +377,11 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ <replaceable class="paramet </para> <para> - We recommend that active production databases be - vacuumed frequently (at least nightly), in order to - remove dead rows. After adding or deleting a large number - of rows, it might be a good idea to issue a <command>VACUUM - ANALYZE</command> command for the affected table. This will update the - system catalogs with - the results of all recent changes, and allow the - <productname>PostgreSQL</productname> query planner to make better - choices in planning queries. + We recommend that all databases be vacuumed regularly in + order to remove dead rows. <productname>PostgreSQL</productname> includes + an <quote>autovacuum</quote> facility which can automate routine vacuum + maintenance. For more information about automatic and manual vacuuming, + see <xref linkend="routine-vacuuming"/>. </para> <para> @@ -412,12 +408,6 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ <replaceable class="paramet details. </para> - <para> - <productname>PostgreSQL</productname> includes an <quote>autovacuum</quote> - facility which can automate routine vacuum maintenance. For more - information about automatic and manual vacuuming, see - <xref linkend="routine-vacuuming"/>. - </para> <para> Each backend running <command>VACUUM</command> without the <literal>FULL</literal> option will report its progress in the -- 2.35.3