From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> |
Cc: | "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, "mlw" <markw(at)mohawksoft(dot)com>, "Nicolas Bazin" <nbazin(at)ingenico(dot)com(dot)au>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Postgresql backend to perform vacuum automatically |
Date: | 2002-03-07 15:01:40 |
Message-ID: | 9864.1015513300@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> writes:
>> Not possible unless you are willing to have SELECTs grab much stronger
>> locks than they do now (viz, the same kind of lock that VACUUM does).
> I am talking about slots, that are marked deleted before oldest tx in progress.
> It should be possible to overwrite those only with the "pin" on the page.
No, it is not.
You can't physically remove a tuple before you've removed all index
entries that point to it. That requires, at minimum, a table lock that
ensures that no new indexes are being created meanwhile. Which is what
VACUUM uses.
There's also a serious question about whether this would really improve
performance. "Retail" deletion of index tuples would be fairly
inefficient over the long run, compared to the bulk deletion technique
used by VACUUM.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Wieck | 2002-03-07 15:02:52 | Re: Bad Build |
Previous Message | Fernando Nasser | 2002-03-07 12:38:26 | Small fix for _equalValue() |