> > > Tatsuo Ishii <[EMAIL PROTECTED]> writes: > > > > Probably VACUUM works well for small to medium size tables, but not > > > > for huge ones. I'm considering about to implement "on the spot > > > > salvaging dead tuples". > > > > > > That's impossible on its face, except for the special case where the > > > same transaction inserts and deletes a tuple. In all other cases, the > > > transaction deleting a tuple cannot know whether it will commit. > > > > Of course. We need to keep a list of such that tuples until commit or > > abort. > > what about other transactions, which may have started before current one > and be still running when current one commites ?
Then dead tuples should be left. Perhaps in this case we could register them in FSM or whatever for later processing. -- Tatsuo Ishii > I once proposed an extra parameter added to VACUUM FULL which determines > how much free space to leave in each page vacuumed. If there were room > the new tuple could be placed near the old one in most cases and thus > avoid lots of disk head movement when updating huge tables in one go. > > ------------ > > Hannu Krosing <[EMAIL PROTECTED]> > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org > ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org