public inbox for [email protected]  
help / color / mirror / Atom feed
From: Yugo NAGATA <[email protected]>
To: Artur Zakirov <[email protected]>
Cc: Postgres hackers <[email protected]>
Subject: Re: Checking MINIMUM_VERSION_FOR_WAL_SUMMARIES
Date: Fri, 2 Feb 2024 17:41:56 +0900
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAKNkYnzkkQ0gb_ZmLTY0r2-qV1q6imXgcCWxdA6UoA6yJkujGg@mail.gmail.com>
References: <CAKNkYnzkkQ0gb_ZmLTY0r2-qV1q6imXgcCWxdA6UoA6yJkujGg@mail.gmail.com>

On Fri, 2 Feb 2024 01:11:27 +0100
Artur Zakirov <[email protected]> wrote:

> Hi hackers,
> 
> during reading the source code of new incremental backup functionality
> I noticed that the following condition can by unintentional:
> 
>     /*
>      * For newer server versions, likewise create pg_wal/summaries
>      */
>     if (PQserverVersion(conn) < MINIMUM_VERSION_FOR_WAL_SUMMARIES)
>     {
>         ...
> 
>         if (pg_mkdir_p(summarydir, pg_dir_create_mode) != 0 &&
>             errno != EEXIST)
>             pg_fatal("could not create directory \"%s\": %m", summarydir);
>     }
> 
> This is from src/bin/pg_basebackup/pg_basebackup.c.
> 
> Is the condition correct? Shouldn't it be ">=". Otherwise the function
> will create "/summaries" only for older PostgreSQL versions.
> 
> I've attached a patch to fix it in case this is a typo.

I  also think it should be ">="
Also, if so, I don't think the check of MINIMUM_VERSION_FOR_PG_WAL
in the block is required, because the directory name is always pg_wal
in the new versions.

Regards,
Yugo Nagata

> 
> -- 
> Artur


-- 
Yugo NAGATA <[email protected]>






view thread (2+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Checking MINIMUM_VERSION_FOR_WAL_SUMMARIES
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox