From: | Simon Riggs <simon(dot)riggs(at)enterprisedb(dot)com> |
---|---|
To: | Peter Geoghegan <pg(at)bowt(dot)ie> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Allow single table VACUUM in transaction block |
Date: | 2022-11-08 03:10:03 |
Message-ID: | CANbhV-E0cTitQNU1esGw+KyGcZfbn_cpteSGrht-j8kVAh4UcA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, 7 Nov 2022 at 08:20, Simon Riggs <simon(dot)riggs(at)enterprisedb(dot)com> wrote:
> Temp tables are actually easier, since we don't need any of the
> concurrency features we get with lazy vacuum. So the answer is to
> always run a VACUUM FULL on temp tables since this skips any issues
> with indexes etc..
So I see 3 options for what to do next
1. Force the FULL option for all tables, when executed in a
transaction block. This gets round the reasonable objections to
running a concurrent vacuum in a shared xact block. As Justin points
out, CLUSTER is already supported, which uses the same code.
2. Force the FULL option for temp tables, when executed in a
transaction block. In a later patch, queue up an autovacuum run for
regular tables.
3. Return with feedback this patch. (But then what happens with temp tables?)
Thoughts?
--
Simon Riggs http://www.EnterpriseDB.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Laurenz Albe | 2022-11-08 03:37:59 | Re: New docs chapter on Transaction Management and related changes |
Previous Message | wangw.fnst@fujitsu.com | 2022-11-08 03:04:33 | RE: Logical replication timeout problem |