At Mon, 13 Apr 2020 09:56:02 +0900, Michael Paquier <mich...@paquier.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