pg_basebackup: Fix check for MINIMUM_VERSION_FOR_WAL_SUMMARIES
authorMichael Paquier <michael@paquier.xyz>
Sun, 4 Feb 2024 01:51:53 +0000 (10:51 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sun, 4 Feb 2024 01:51:53 +0000 (10:51 +0900)
MINIMUM_VERSION_FOR_WAL_SUMMARIES is used to check if the directory
pg_wal/summaries/ should be created in a base backup, but its condition
was reversed: pg_wal/summaries/ would be created when taking base
backups from backends of v16 and older versions, but it should be
created in base backups taken from backends of v17 and newer versions.

Author: Artur Zakirov
Reviewed-by: Yugo Nagata, Nazir Bilal Yavuz
Discussion: https://postgr.es/m/CAKNkYnzkkQ0gb_ZmLTY0r2-qV1q6imXgcCWxdA6UoA6yJkujGg@mail.gmail.com

src/bin/pg_basebackup/pg_basebackup.c

index 77489af518885b44aafd93342714708002292730..3a9940097c661a8a151c51a79880fcd42149d548 100644 (file)
@@ -700,14 +700,12 @@ StartLogStreamer(char *startpos, uint32 timeline, char *sysidentifier,
        /*
         * For newer server versions, likewise create pg_wal/summaries
         */
-       if (PQserverVersion(conn) < MINIMUM_VERSION_FOR_WAL_SUMMARIES)
+       if (PQserverVersion(conn) >= MINIMUM_VERSION_FOR_WAL_SUMMARIES)
        {
            char        summarydir[MAXPGPATH];
 
            snprintf(summarydir, sizeof(summarydir), "%s/%s/summaries",
-                    basedir,
-                    PQserverVersion(conn) < MINIMUM_VERSION_FOR_PG_WAL ?
-                    "pg_xlog" : "pg_wal");
+                    basedir, "pg_wal");
 
            if (pg_mkdir_p(summarydir, pg_dir_create_mode) != 0 &&
                errno != EEXIST)