Revert ill-considered change in pg_resetwal output.
authorTom Lane <[email protected]>
Thu, 15 Sep 2022 14:58:03 +0000 (10:58 -0400)
committerTom Lane <[email protected]>
Thu, 15 Sep 2022 14:58:03 +0000 (10:58 -0400)
Commit 31dcfae83 changed one pg_resetwal output string, and a
corresponding test in pg_upgrade, without sufficient thought for
the consequences.  We can't change that output without creating
hazards for cross-version upgrades, since pg_upgrade needs to be able
to read the output of several different versions of pg_resetwal.
There may well be external tools with the same requirement.

For the moment, just revert those two changes.  What we really
ought to do here is have a separate, stable, easily machine-readable
output format for pg_resetwal and pg_controldata, as proposed
years ago by Alvaro.  Once that's in place and tools no longer
need to depend on the exact spelling of the human-readable output,
we can put back this change.

Discussion: https://postgr.es/m/fbea8c6f-415a-bad9-c3de-969c40d08a84@dunslane.net

src/bin/pg_resetwal/pg_resetwal.c
src/bin/pg_upgrade/controldata.c

index 7adf79eeed6246f6953255b801a0160c3cf6b1a7..d4772a2965047a4677dcd50f2cdb3d62b973f3b9 100644 (file)
@@ -788,7 +788,7 @@ PrintNewControlValues(void)
 
        XLogFileName(fname, ControlFile.checkPointCopy.ThisTimeLineID,
                                 newXlogSegNo, WalSegSz);
-       printf(_("First WAL segment after reset:        %s\n"), fname);
+       printf(_("First log segment after reset:        %s\n"), fname);
 
        if (set_mxid != 0)
        {
index 88d7e1c73de711af1bf883c96ef49d9d8547e1ba..018cd310f7c8b3d380c2389d98c86701058b8c33 100644 (file)
@@ -348,7 +348,7 @@ get_control_data(ClusterInfo *cluster, bool live_check)
                        cluster->controldata.chkpnt_nxtmxoff = str2uint(p);
                        got_mxoff = true;
                }
-               else if ((p = strstr(bufin, "First WAL segment after reset:")) != NULL)
+               else if ((p = strstr(bufin, "First log segment after reset:")) != NULL)
                {
                        /* Skip the colon and any whitespace after it */
                        p = strchr(p, ':');