On Sun, Jun 16, 2013 at 11:54 AM, Jeff Janes <jeff.ja...@gmail.com<javascript:_e({}, 'cvml', 'jeff.ja...@gmail.com');> > wrote:
> In 9.3 HEAD I am getting what seems to be spurious wrap-around shutdowns. > > > postgres=# SELECT datname, datfrozenxid, age(datfrozenxid) FROM > pg_database; > > datname | datfrozenxid | age > -----------+--------------+----------- > template1 | 2621759843 | 0 > template0 | 2621759843 | 0 > postgres | 2571759843 | 50000000 > jjanes | 2437230921 | 184528922 > While the behavior is weird, it is not a regression (also present in 9.2 with suitable changes in timing) and the shutdown is not spurious. If I execute the above query immediately after the shutdown, I see what I would expect, jjanes has an age of about 2^31. The one table that is holding everything back is already getting autovac for wraparound at that point, and eventually that vacuum finishes. When done, pg_class and pg_database are updated (I don't know how they get updated without trying to assign another transaction), and then I get the above query results. I would think the database would re-allow new transactions at this point, but it does not. I don't know why. Since this isn't a regression in 9.3, I probably won't pursue it any more at this time, unless encouraged to. Cheers, Jeff