Per-Table vacuum_freeze_min_age - Mailing list pgsql-general

From Chris Bisnett
Subject Per-Table vacuum_freeze_min_age
Date
Msg-id CADCOqPx_s6yfmyfV8osigsB4Qra=WUNu+P3xWQn672fsnZi6NQ@mail.gmail.com
Whole thread Raw
Responses Re: Per-Table vacuum_freeze_min_age
Re: Per-Table vacuum_freeze_min_age
List 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

pgsql-general by date:

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