On Wed, 2009-02-25 at 23:08 +0200, Heikki Linnakangas wrote:
> >
> > That is exactly the reason why we don't treat an overflowed snapshot as
> > a valid starting point.
>
> We don't? I don't see anything stopping it.
In GetRunningTransactionData() we explicitly set latestRunningXid to
InvalidTransactionId if the snapshot is overflowed.
That prevents the snapshot from being used to initialise the recovery
procs. I'll document that better.
You raised that as an annoyance previously because it means that
connection in hot standby mode may be delayed in cases of heavy,
repeated use of significant numbers of subtransactions. My answer was
that there is a way to avoid that but it complicates things and I'm
trying my best to avoid complexity in the first release, yet still have
it work (this decade :-))
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support