Skip to content

Commit 4e99359

Browse files
committed
pg_upgrade: properly handle timeline variables
There is no behavior change here as we now always set the timeline to one. Report by Tom Lane Backpatch to 9.3 and 9.4
1 parent b054732 commit 4e99359

File tree

2 files changed

+3
-8
lines changed

2 files changed

+3
-8
lines changed

contrib/pg_upgrade/controldata.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ get_control_data(ClusterInfo *cluster, bool live_check)
229229
pg_log(PG_FATAL, "%d: controldata retrieval problem\n", __LINE__);
230230

231231
p++; /* removing ':' char */
232-
cluster->controldata.chkpnt_tli = str2uint(p);
232+
tli = str2uint(p);
233233
got_tli = true;
234234
}
235235
else if ((p = strstr(bufin, "Latest checkpoint's NextXID:")) != NULL)
@@ -479,11 +479,11 @@ get_control_data(ClusterInfo *cluster, bool live_check)
479479
* Before 9.3, pg_resetxlog reported the xlogid and segno of the first log
480480
* file after reset as separate lines. Starting with 9.3, it reports the
481481
* WAL file name. If the old cluster is older than 9.3, we construct the
482-
* WAL file name from the xlogid and segno.
482+
* WAL file name from the tli, xlogid, and segno.
483483
*/
484484
if (GET_MAJOR_VERSION(cluster->major_version) <= 902)
485485
{
486-
if (got_log_id && got_log_seg)
486+
if (got_tli && got_log_id && got_log_seg)
487487
{
488488
snprintf(cluster->controldata.nextxlogfile, 25, "%08X%08X%08X",
489489
tli, logid, segno);
@@ -497,7 +497,6 @@ get_control_data(ClusterInfo *cluster, bool live_check)
497497
(!got_oldestmulti &&
498498
cluster->controldata.cat_ver >= MULTIXACT_FORMATCHANGE_CAT_VER) ||
499499
(!live_check && !got_nextxlogfile) ||
500-
!got_tli ||
501500
!got_align || !got_blocksz || !got_largesz || !got_walsz ||
502501
!got_walseg || !got_ident || !got_index || !got_toast ||
503502
!got_date_is_int || !got_float8_pass_by_value || !got_data_checksum_version)
@@ -525,9 +524,6 @@ get_control_data(ClusterInfo *cluster, bool live_check)
525524
if (!live_check && !got_nextxlogfile)
526525
pg_log(PG_REPORT, " first WAL segment after reset\n");
527526

528-
if (!got_tli)
529-
pg_log(PG_REPORT, " latest checkpoint timeline ID\n");
530-
531527
if (!got_align)
532528
pg_log(PG_REPORT, " maximum alignment\n");
533529

contrib/pg_upgrade/pg_upgrade.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ typedef struct
186186
uint32 ctrl_ver;
187187
uint32 cat_ver;
188188
char nextxlogfile[25];
189-
uint32 chkpnt_tli;
190189
uint32 chkpnt_nxtxid;
191190
uint32 chkpnt_nxtepoch;
192191
uint32 chkpnt_nxtoid;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy