| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
| Cc: | Hannu Krosing <hannu(at)tm(dot)ee>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: How to make lazy VACUUM of one table run in several transactions ? |
| Date: | 2005-04-25 15:11:45 |
| Message-ID: | 19162.1114441905@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> writes:
> On Sun, Apr 24, 2005 at 12:02:37PM +0300, Hannu Krosing wrote:
>> Must some locks also be released an reaquired inside this loop, or is
>> there something else I should keep in mind when trying to do this ?
> There is "session lock" on the table. You must release that.
Actually, the only hope of making this work is NOT to release that.
If you hold the appropriate lock at the session level then it is
reasonable to consider successive transactions within the vacuum
as being one big operation.
I think the major issue with this would be memory management, ie,
how to prevent CommitTransactionCommand from cleaning up all of
vacuum's working state.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-04-25 15:23:00 | Re: [HACKERS] Bad n_distinct estimation; hacks suggested? |
| Previous Message | Alvaro Herrera | 2005-04-25 12:41:03 | Re: How to make lazy VACUUM of one table run in several transactions ? |