Re: Automatic free space map filling
Jim C. Nasby <jnasby@pervasive.com>
From: "Jim C. Nasby" <jnasby@pervasive.com>
To: Dawid Kuroczko <qnex42@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2006-05-02T15:49:57Z
Lists: pgsql-hackers
On Mon, May 01, 2006 at 10:24:50PM +0200, Dawid Kuroczko wrote: > VACUUM table WHERE some_col > now()-'1 hour'::interval; > > I.e. Let vacuum run "piggyback" on some index. This would allow > for a quick vacuum of a fraction of a large table. Especially when > the table is large, and only some data (new data) are being modified. > > The vacuum for such a table would: > 1. scan the index accoriding to the where criteria and create bitmap > of blocks to look at. > 2. go through these blocks and vacuum them. > > Hmm, another perhaps silly idea -- a special index kind for tracking > tuple deaths. Ie -- something like whenever tuple is updated/deleted, > insert an entry into such index, using last session the tuple is visible > for as a key. Then, perhaps, vacuum could scan such an index and > find tuples which are candidates for removal. I lack the knowledge of > PostgreSQL's internals, so forgive me if I am writing something > completely insane. :) There is a TODO to create a 'dead space map' which would cover #2 and probably eliminate any use for #1. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461