aboutsummaryrefslogtreecommitdiff
path: root/src/include/common/compression.h
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2023-02-23 18:33:30 +0100
committerTomas Vondra <tomas.vondra@postgresql.org>2023-02-23 18:33:40 +0100
commite9960732a9618d5f744ff43a09622c9185798760 (patch)
treeb9ea6084bbbeb947cb1921a050dbe6c9fba4a51a /src/include/common/compression.h
parent739f1d6218f5ce1e0243127ab23f431a7d07977c (diff)
downloadpostgresql-e9960732a9618d5f744ff43a09622c9185798760.tar.gz
postgresql-e9960732a9618d5f744ff43a09622c9185798760.zip
Introduce a generic pg_dump compression API
Switch pg_dump to use the Compression API, implemented by bf9aa490db. The CompressFileHandle replaces the cfp* family of functions with a struct of callbacks for accessing (compressed) files. This allows adding new compression methods simply by introducing a new struct instance with appropriate implementation of the callbacks. Archives compressed using custom compression methods store an identifier of the compression algorithm in their header instead of the compression level. The header version is bumped. Author: Georgios Kokolatos Reviewed-by: Michael Paquier, Rachel Heaton, Justin Pryzby, Tomas Vondra Discussion: https://postgr.es/m/faUNEOpts9vunEaLnmxmG-DldLSg_ql137OC3JYDmgrOMHm1RvvWY2IdBkv_CRxm5spCCb_OmKNk2T03TMm0fBEWveFF9wA1WizPuAgB7Ss%3D%40protonmail.com
Diffstat (limited to 'src/include/common/compression.h')
-rw-r--r--src/include/common/compression.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/include/common/compression.h b/src/include/common/compression.h
index 9a471e40aab..b48c173022e 100644
--- a/src/include/common/compression.h
+++ b/src/include/common/compression.h
@@ -14,6 +14,10 @@
#ifndef PG_COMPRESSION_H
#define PG_COMPRESSION_H
+/*
+ * These values are stored in disk, for example in files generated by pg_dump.
+ * Create the necessary backwards compatibility layers if their order changes.
+ */
typedef enum pg_compress_algorithm
{
PG_COMPRESSION_NONE,