postgresql/src/include/common
Robert Haas ffd53659c4 Replace BASE_BACKUP COMPRESSION_LEVEL option with COMPRESSION_DETAIL.
There are more compression parameters that can be specified than just
an integer compression level, so rename the new COMPRESSION_LEVEL
option to COMPRESSION_DETAIL before it gets released. Introduce a
flexible syntax for that option to allow arbitrary options to be
specified without needing to adjust the main replication grammar,
and common code to parse it that is shared between the client and
the server.

This commit doesn't actually add any new compression parameters,
so the only user-visible change is that you can now type something
like pg_basebackup --compress gzip:level=5 instead of writing just
pg_basebackup --compress gzip:5. However, it should make it easy to
add new options. If for example gzip starts offering fries, we can
support pg_basebackup --compress gzip:level=5,fries=true for the
benefit of users who want fries with that.

Along the way, this fixes a few things in pg_basebackup so that the
pg_basebackup can be used with a server-side compression algorithm
that pg_basebackup itself does not understand. For example,
pg_basebackup --compress server-lz4 could still succeed even if
only the server and not the client has LZ4 support, provided that
the other options to pg_basebackup don't require the client to
decompress the archive.

Patch by me. Reviewed by Justin Pryzby and Dagfinn Ilmari Mannsåker.

Discussion: http://postgr.es/m/CA+TgmoYvpetyRAbbg1M8b3-iHsaN4nsgmWPjOENu5-doHuJ7fA@mail.gmail.com
2022-03-23 09:19:14 -04:00
..
archive.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
backup_compression.h Replace BASE_BACKUP COMPRESSION_LEVEL option with COMPRESSION_DETAIL. 2022-03-23 09:19:14 -04:00
base64.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
checksum_helper.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
config_info.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
connect.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
controldata_utils.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
cryptohash.h Improve error handling of cryptohash computations 2022-01-11 09:55:16 +09:00
fe_memutils.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
file_perm.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
file_utils.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
hashfn.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
hmac.h Improve error handling of HMAC computations 2022-01-13 16:17:21 +09:00
int.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
int128.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
ip.h Remove IS_AF_UNIX macro 2022-02-15 10:16:34 +01:00
jsonapi.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
keywords.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
kwlookup.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
link-canary.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
logging.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
md5.h Improve error handling of cryptohash computations 2022-01-11 09:55:16 +09:00
openssl.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_lzcompress.h Optimize partial TOAST decompression 2019-10-01 14:28:28 +02:00
pg_prng.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
relpath.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
restricted_token.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
saslprep.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
scram-common.h Improve error handling of HMAC computations 2022-01-13 16:17:21 +09:00
sha1.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
sha2.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
shortest_dec.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
string.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
unicode_combining_table.h Update Unicode data to Unicode 14.0.0 2021-09-15 08:16:44 +02:00
unicode_east_asian_fw_table.h Update Unicode data to Unicode 14.0.0 2021-09-15 08:16:44 +02:00
unicode_norm.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
unicode_norm_hashfunc.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
unicode_norm_table.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
unicode_normprops_table.h Update Unicode data to Unicode 14.0.0 2021-09-15 08:16:44 +02:00
username.h Update copyright for 2022 2022-01-07 19:04:57 -05:00