From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Hannu Krosing <hannu(at)tm(dot)ee> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Is there a way to make VACUUM run completely outside |
Date: | 2005-02-08 16:39:50 |
Message-ID: | 20050208163950.GB24203@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Feb 08, 2005 at 01:55:47PM +0200, Hannu Krosing wrote:
> So I guess that making it commit and open new transaction at a regular
> interval (like each minute) during vacuuming single table would not
> alter its visible behaviour. That would solve my problem of long-running
> vacuums on large tables polluting unrelated small but heavily updated
> tables with dead tuples.
Interesting. The problem is that a long running VACUUM on a single
table will keep in PGPROC a TransactionId that will last very long,
which will "pollute" every concurrent Snapshot; so smaller tables can't
be cleaned up because the tuples are visible for the transaction running
the vacuum -- except that that transaction cannot possibly want to look
at them.
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"La tristeza es un muro entre dos jardines" (Khalil Gibran)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-02-08 16:42:11 | Re: float4 regression test failed on linux parisc |
Previous Message | pgsql | 2005-02-08 16:14:01 | One Big trend vs multiple smaller trends in table statistics |