1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

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
This commit is contained in:
Bruce Momjian
2015-05-16 15:16:28 -04:00
parent b054732070
commit 4e9935979a
2 changed files with 3 additions and 8 deletions

View File

@ -229,7 +229,7 @@ get_control_data(ClusterInfo *cluster, bool live_check)
pg_log(PG_FATAL, "%d: controldata retrieval problem\n", __LINE__);
p++; /* removing ':' char */
cluster->controldata.chkpnt_tli = str2uint(p);
tli = str2uint(p);
got_tli = true;
}
else if ((p = strstr(bufin, "Latest checkpoint's NextXID:")) != NULL)
@ -479,11 +479,11 @@ get_control_data(ClusterInfo *cluster, bool live_check)
* Before 9.3, pg_resetxlog reported the xlogid and segno of the first log
* file after reset as separate lines. Starting with 9.3, it reports the
* WAL file name. If the old cluster is older than 9.3, we construct the
* WAL file name from the xlogid and segno.
* WAL file name from the tli, xlogid, and segno.
*/
if (GET_MAJOR_VERSION(cluster->major_version) <= 902)
{
if (got_log_id && got_log_seg)
if (got_tli && got_log_id && got_log_seg)
{
snprintf(cluster->controldata.nextxlogfile, 25, "%08X%08X%08X",
tli, logid, segno);
@ -497,7 +497,6 @@ get_control_data(ClusterInfo *cluster, bool live_check)
(!got_oldestmulti &&
cluster->controldata.cat_ver >= MULTIXACT_FORMATCHANGE_CAT_VER) ||
(!live_check && !got_nextxlogfile) ||
!got_tli ||
!got_align || !got_blocksz || !got_largesz || !got_walsz ||
!got_walseg || !got_ident || !got_index || !got_toast ||
!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)
if (!live_check && !got_nextxlogfile)
pg_log(PG_REPORT, " first WAL segment after reset\n");
if (!got_tli)
pg_log(PG_REPORT, " latest checkpoint timeline ID\n");
if (!got_align)
pg_log(PG_REPORT, " maximum alignment\n");