I wrote:
> "Milen A. Radev" <milen@securax.org> writes:
>> I review the log every morning. In the beginning I got "wraparound
>> failure" warnings every third day. But from a week I got those warnings
>> every day. Well we have one table in one database where there are a lot
>> of inserts, but not that many - around 30-40 thousand per day.
> Are you really doing half a billion transactions a day?
I thought of another mechanism that wouldn't require such a preposterous
load, only half a billion transactions since initdb. (How old is this
installation, anyway, and which PG version?)
If you are creating new databases every day and you do it by cloning
template0, then the new databases would come into existence with
datfrozenxid equal to template0's. Once template0 is more than half a
billion transactions old, you'd start seeing the warning.
This is relatively harmless, but probably we should try to mask it.
We could make CREATE DATABASE set datfrozenxid to current time when
cloning a database that has datallowconn false, on the assumption that
the source DB is entirely frozen and so there's nothing to vacuum yet.
regards, tom lane