Re: pg_basebackup, manifests and backends older than ~12

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: michael(at)paquier(dot)xyz
Cc: david(at)pgmasters(dot)net, sfrost(at)snowman(dot)net, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: pg_basebackup, manifests and backends older than ~12
Date: 2020-04-13 02:52:51
Message-ID: 20200413.115251.1297922971103214263.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Mon, 13 Apr 2020 09:56:02 +0900, Michael Paquier <michael(at)paquier(dot)xyz> wrote in
> On Sun, Apr 12, 2020 at 08:08:17AM +0900, Michael Paquier wrote:
> > Exactly. My point is exactly that. The current code would force
> > users maintaining scripts with pg_basebackup to use --no-manifest if
> > such a script runs with older versions of Postgres, but we should
> > encourage users not do to that because we want them to use manifests
> > with backend versions where they are supported.
>
> Please note that I have added an open item for this thread, and
> attached is a proposal of patch. While reading the code, I have
> noticed that the minimum version handling is not consistent with the
> other MINIMUM_VERSION_*, so I have added one for manifests.

Since I'm not sure about the work flow that contains taking a
basebackup from a server of a different version, I'm not sure which is
better between silently disabling and erroring out. However, it seems
to me, the option for replication slot is a choice of the way the tool
works which doesn't affect the result itself, but that for backup
manifest is about what the resulting backup contains. Therefore I
think it is better that pg_basebackup in PG13 should error out if the
source server doesn't support backup manifest but --no-manifest is not
specfied, and show how to accomplish their wants (, though I don't see
the wants clearly).

$ pg_basebackup ...
pg_basebackup: error: backup manifest is available from servers running PostgreSQL 13 or later
Try --no-manifest to take a backup from this server.

By the way, if I specified --manifest-checksums, it complains about
incompatible options with a message that would look strange to the
user.

pg_basebackup: error: --no-manifest and --manifest-checksums are incompatible options

("I didn't specified such an option..")

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2020-04-13 02:58:34 Re: snapshot too old issues, first around wraparound and then more.
Previous Message Patrick REED 2020-04-13 02:46:17 Lexer issues