pgsql: Flexible options for BASE_BACKUP.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Flexible options for BASE_BACKUP.
Date: 2021-10-05 15:54:23
Message-ID: E1mXmlr-00060n-H7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Flexible options for BASE_BACKUP.

Previously, BASE_BACKUP used an entirely hard-coded syntax, but that's
hard to extend. Instead, adopt the same kind of syntax we've used for
SQL commands such as VACUUM, ANALYZE, COPY, and EXPLAIN, where it's
not necessary for all of the option names to be parser keywords.

In the new syntax, most of the options now take an optional Boolean
argument. To match our practice in other in places, the options which
the old syntax called NOWAIT and NOVERIFY_CHECKSUMS options are in the
new syntax called WAIT and VERIFY_CHECKUMS, and the default value is
false. In the new syntax, the FAST option has been replaced by a
CHECKSUM option whose value may be 'fast' or 'spread'.

This commit does not remove support for the old syntax. It just adds
the new one as an additional option, and makes pg_basebackup prefer
the new syntax when the server is new enough to support it.

Patch by me, reviewed and tested by Fabien Coelho, Sergei Kornilov,
Fujii Masao, and Tushar Ahuja.

Discussion: http://postgr.es/m/CA+TgmobAczXDRO_Gr2euo_TxgzaH1JxbNxvFx=HYvBinefNH8Q@mail.gmail.com
Discussion: http://postgr.es/m/CA+TgmoZGwR=ZVWFeecncubEyPdwghnvfkkdBe9BLccLSiqdf9Q@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0ba281cb4bf9f5f65529dfa4c8282abb734dd454

Modified Files
--------------
doc/src/sgml/protocol.sgml | 67 ++++++++++++++----------
src/backend/replication/basebackup.c | 51 +++++++++++-------
src/backend/replication/repl_gram.y | 97 ++++++++++++++++++++++++++++++-----
src/bin/pg_basebackup/pg_basebackup.c | 71 ++++++++++++++++---------
src/bin/pg_basebackup/streamutil.c | 61 ++++++++++++++++++++++
src/bin/pg_basebackup/streamutil.h | 12 +++++
6 files changed, 276 insertions(+), 83 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2021-10-05 16:54:02 pgsql: Flexible options for CREATE_REPLICATION_SLOT.
Previous Message Fujii Masao 2021-10-05 15:16:50 pgsql: Make recovery report error message when invalid page header is f