Re: Autovacuum script

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Avihai Shoham <avihai(dot)shoham(at)gmail(dot)com>, pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: Re: Autovacuum script
Date: 2022-04-07 10:27:42
Message-ID: 49a74a198068f02c507f2a5e4c533cc30d24adc6.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Thu, 2022-04-07 at 12:36 +0300, Avihai Shoham wrote:
> I would like for you advice/sharing  about a python script that will run overnight and do autovacuum.
>  
> I'm sharing mine below and will happy if you have suggestion to improve it , or sharing yours in case you have.
> I'm not an expert of python or postgrsql so please understand :)
>
> The script below do autovacuum for the biggest 10 tables
> -----------------------------------------------------------------------------------------------------------------------------------
> #!/usr/bin/python
> [...]
>           query = 'VACUUM FULL %s;' % (row[0])

I think that is quite a bad idea, for several reasons:

1. VACUUM (FULL) blocks read access to the table and is *not* a routine maintenance job
It should be VACUUM instead.

2. It may not be your largest tables that require VACUUM

3. There already is an autovacuum daemon in PostgreSQL that takes care of that and
has many parameters to adapt it to your needs.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Ron 2022-04-07 10:44:44 Re: Autovacuum script
Previous Message Laurenz Albe 2022-04-07 10:23:48 Re: Migration data from Postgres on Windows to Postgres on Linux