19.15. Data Compression

cfs_gc (boolean)

Enables/disables background garbage collection of compressed pages. Default: on

cfs_gc_lock_file (char)

Path to the lock file to be used to ensure running only one garbage collection worker at a time for several Postgres Pro servers when cfs_gc_workers = 1. This parameter can only be set at server start.

cfs_gc_workers (integer)

Number of CFS background garbage collection workers. This parameter can only be set at server start. Default: 1

cfs_level (integer)

CFS compression level: 0 — no compression, 1 — maximal speed. Other possible values depend on the specific compression algorithm used. For example, 9 for zlib or 19 for zstd. Default: 1

cfs_gc_threshold (integer)

Minimum percent of garbage blocks in the file required to start garbage collection. If you would like to manually defragment a relation with a smaller percent of garbage, you can temporarily set this parameter to a smaller value for your current session. Default: 50

cfs_gc_period (integer)

Time interval between CFS garbage collection iterations, in milliseconds. Default: 5 seconds

cfs_compress_temp_relations (bool)

When set to true, compresses temporary tables. For large temporary tables, this setting can save disk space and speed up execution as less data needs to be read. This parameter can only be set at server start. Default: false

cfs_gc_delay (integer)

Time interval for which garbage collection is paused after each file defragmentation, in milliseconds. Default: 0

cfs_gc_respond_time (integer)

Time interval that CFS waits for the lock to be released from a file processed by garbage collector before writing a warning to the log, in seconds. Default: 3600

cfs_gc_time_bloom_query (integer)

Reports the number of times the Bloom filter was queried for CFS files. This parameter is read-only.

cfs_gc_time_bloom_passed (integer)

Reports the number of elements that passed through the Bloom filter. This parameter is read-only.

cfs_gc_time_bloom_false_positive (integer)

Reports the number of false positives returned by the Bloom filter. This parameter is read-only.

cfs_log_verbose (boolean)

Controls the CFS log level of defragmentation messages. If set to false, the level is INFO. Defragmentation messages are written to the log file when log_min_level has a level from DEBUG5 to INFO.

If set to true, the level is set to LOG. Defragmentation messages are written to the log file when log_min_level has a level from DEBUG5 to LOG. In this case, they all have LOG as prefix, regardless of their level. See message levels for more information.