On Mon, May 18, 2015 at 10:58:42AM -0400, Bruce Momjian wrote:
> On Sat, May 16, 2015 at 12:21:12PM -0400, Noah Misch wrote:
> > The rest of this change is opaque to me. "More consistent" with what? The
> > old use of the "tli" variable sure looked like a bug, considering the variable
> > was never set to anything but zero. What is the anticipated behavior change?
>
> The fact you saw the bug helps in another way. I was confused why we
> had not gotten reports about incorrect timeline restoration in previous
> versions of pg_upgrade. It turns out that through 9.2, we always used a
> timeline of 1:
>
> "\"%s/pg_resetxlog\" -l 1,%u,%u \"%s\"", new_cluster.bindir,
> ^
>
> In 9.3 we added code to restore the timeline, but the code that read the
> 9.2 pg_controldata was buggy, so it tried to restore a timeline of 0,
> which was ignored because the timeline can't be decreased with
> pg_resetxlog. Only in 9.4 was the timeline properly restored, leading
> to the missing history file error.
That clears up several things. Interesting.