19.14. Data Compression

cfs_gc (boolean)

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

cfs_encryption (boolean)

Enables/disables encryption of compressed pages. This parameter can only be set at server start. Default: off

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_compress_small_relations (bool)

Compress the first segment of relations. If you set this option to false, only those relations that are larger than the segment size (1GB) are compressed, starting from the second segment. This setting can be useful for databases with multiple small relations as maintaining a map for a large number of compressed tables can cause significant overhead. Note that uncompressed segments will not be encrypted. This parameter can only be set at server start. Default: true

cfs_gc_delay (integer)

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