thx a lot for your answer :) so when a transaction is still open from a while back (according to the transactionID), no 'new dead' tuples can be marked as re-usable space for new rows, right? by 'new dead' i mean that for example there is a transaction running from 10.00am(with a specific transactionID). when i delete rows at 11.00am these are the ones i am referring to. the same thing happens with the index, right? the dead enties for the rows that were deleted at 11.00am cannot be removed yet (this is not based on the timestamp, i get it, i just want to point out that due to MVCC these rows should be visible to the old transaction and by using timestamps this is more obvious) but, for these rows, the 'deleted' ones. does vacuum do anything at all at that time? and if so, what is it? thx in advance -- View this message in context: http://postgresql.1045698.n5.nabble.com/vacuum-internals-and-performance-affect-tp5033043p5036800.html Sent from the PostgreSQL - performance mailing list archive at Nabble.com. -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance