Hi,
I think it's most likely that there were also old transactions in the current database. Only the shared tables (pg_shadow, pg_database, pg_group) are vacuumed using a cutoff that depends on non-local transactions.
in my case, there are really no old transactions in current database.
Looking at the back versions, it appears this logic was put in in 7.2; is it possible you are remembering the behavior of older versions?
And it's on 7.4...
The problem is fully described in thread I mentioned earlier, Tom's excellent explanation can be found here:
http://groups.google.com/groups?hl=cs&lr=&frame=right&th=5227028cb3449572&seekm=11390.1080964720%40sss.pgh.pa.us#link14
Kuba
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match