On ons, 2011-12-28 at 14:35 -0500, Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Excerpts from Peter Eisentraut's message of mié dic 28 15:04:09 -0300 2011:
> >> On a hot standby, this fails with:
> >> ERROR: cannot assign TransactionIds during recovery
>
> > I think we could just have the xid_age call
> > GetCurrentTransactionIdIfAny, and if that returns InvalidXid, use
> > ReadNewTransactionId instead. That xid_age assigns a transaction seems
> > more of an accident than really intended.
>
> The trouble with using ReadNewTransactionId is that it makes the results
> volatile, not stable as the function is declared to be.
Could we alleviate that problem with some caching within the function?