pgsql: Add suport for server-side LZ4 base backup compression.

Robert Haas <rhaas@postgresql.org>

From: Robert Haas <rhaas@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Date: 2022-02-11T13:54:36Z
Lists: pgsql-hackers
Add suport for server-side LZ4 base backup compression.

LZ4 compression can be a lot faster than gzip compression, so users
may prefer it even if the compression ratio is not as good. We will
want pg_basebackup to support LZ4 compression and decompression on the
client side as well, and there is a pending patch for that, but it's
by a different author, so I am committing this part separately for
that reason.

Jeevan Ladhe, reviewed by Tushar Ahuja and by me.

Discussion: http://postgr.es/m/CANm22Cg9cArXEaYgHVZhCnzPLfqXCZLAzjwTq7Fc0quXRPfbxA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/dab298471ff2f91f33bc25bfb73e435d3ab02148

Modified Files
--------------
doc/src/sgml/protocol.sgml                |   7 +-
doc/src/sgml/ref/pg_basebackup.sgml       |  24 ++-
src/backend/replication/Makefile          |   1 +
src/backend/replication/basebackup.c      |   7 +-
src/backend/replication/basebackup_lz4.c  | 298 ++++++++++++++++++++++++++++++
src/bin/pg_basebackup/pg_basebackup.c     |  18 +-
src/bin/pg_verifybackup/Makefile          |   1 +
src/bin/pg_verifybackup/t/008_untar.pl    |  10 +-
src/include/replication/basebackup_sink.h |   1 +
9 files changed, 349 insertions(+), 18 deletions(-)

Commits

  1. Remove command checks in tests of pg_basebackup and pg_receivewal

  2. Add ./configure check for "lz4" command

  3. Add suport for server-side LZ4 base backup compression.