Per-Table vacuum_freeze_min_age

From: Chris Bisnett <cbisnett(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Per-Table vacuum_freeze_min_age
Date: 2022-04-06 22:13:24
Message-ID: CADCOqPx_s6yfmyfV8osigsB4Qra=WUNu+P3xWQn672fsnZi6NQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all!

I have several large tables (1-2Tb) that are 99.9% writes (small number of
updates) with a decent commit rate (20K/sec). The basic idea is that it’s
generating a lot of data continuously. When the table would reach the
thresholds for autovacuum a vacuum would start and would start generating
wal write lock wait events. Once I set the freeze age to 500,000 (default
is 50,000,000) the vacuums have to touch many fewer pages and is
significantly faster without causing any write lock wait events.

The only downside I’ve seen is that this is a global setting and my
understanding is that this would cause decreased performance when used with
tables with a lot of writes and deletes. Is there a technical reason this
setting cannot be applied at the database or table context like other
autovacuum settings?

- chris

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2022-04-06 22:22:22 Re: Per-Table vacuum_freeze_min_age
Previous Message Adrian Klaver 2022-04-06 18:09:25 Re: Problem with PG 11 database on OrangePi3 (ARMBIAN, ARM64) after disk disrupion (problem with USB disk connection)