On Fri, Jul 23, 2021 at 09:01:18PM -0400, Bruce Momjian wrote:
> On Fri, Jul 23, 2021 at 05:47:18PM -0700, Peter Geoghegan wrote:
> > > I could perhaps see corruption happening if pg_control's oldest xid
> > > value was closer to the current xid value than it should be, but I can't
> > > see how having it 2-billion away could cause harm, unless perhaps
> > > pg_upgrade itself used enough xids to cause the counter to wrap more
> > > than 2^31 away from the oldest xid recorded in pg_control.
> > >
> > > What I am basically asking is how to document this and what it fixes.
> >
> > ISTM that this is a little like commits 78db307bb2 and a61daa14. Maybe
> > take a look at those?
>
> Agreed. I just wanted to make sure I wasn't missing an important aspect
> of this patch. Thanks.
Another question --- with the previous code, the oldest xid was always
set to a reasonable value, -2 billion less than the current xid. With
the new code, the oldest xid might be slightly higher than the current
xid if they use -x but not -u. Is that acceptable? I think we agreed it
was. pg_upgrade will always set both.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
If only the physical world exists, free will is an illusion.