On Sat, Apr 29, 2006 at 11:18:10AM +0800, K C Lau wrote: > > At 10:39 06/04/29, Tom Lane wrote: > >K C Lau <kclau60@xxxxxxxxxxxxxx> writes: > >> Without knowing the internals, I have this simplistic idea: if Postgres > >> maintains the current lowest transaction ID for all active > >transactions, it > >> probably could recycle dead tuples on the fly. > > > >[ yawn... ] Yes, we've heard that before. The hard part is getting rid > >of index entries. > > > > regards, tom lane > > I apologize for simplistic ideas again. I presume that the equivalent tuple > header information is not maintained for index entries. What if they are, > probably only for the most commonly used index types to allow recycling > where possible? The extra space required would be recycled too. It would > probably also help save a trip to the tuple data pages to determine the > validity of index entries during index scans. You should read through the -hacker archives, most of this stuff has been gone over multiple times. Storing tuple header info in indexes would be a huge drawback, as it would result in about 20 extra bytes per index entry. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@xxxxxxxxxxxxx Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461