This is a wild and crazy thought which I am sure is invalid for some good reason.

But why can't postgres just vacuum itself as it goes along?

When a row is orphaned it's added to a list of possibly available rows. When a new row is needed the list of possible rows is examined and the first one with a transaction id less then the lowest running transaction id is chosen to be the new row? These rows can be in a heap so it's really fast to find one.

Like magic - no more vacuuming.  No more holes for people to fall into.

Is this an oversimplification of the problem?


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to