19.16. Сжатие данных #

cfs_gc (boolean) #

Включает/отключает процесс сборки мусора в сжимаемых страницах. По умолчанию: on (вкл.)

cfs_gc_lock_file (char) #

Путь к файлу блокировки, гарантирующему, что для нескольких серверов Postgres Pro будет выполняться только один рабочий процесс сборки мусора при заданном значении параметра cfs_gc_workers = 1. Данный параметр можно задать только при запуске сервера.

cfs_gc_workers (integer) #

Число фоновых сборщиков мусора CFS. Этот параметр можно задать только при запуске сервера. Количество сборщиков не должно превышать 100. По умолчанию: 1

cfs_level (integer) #

Уровень сжатия CFS: 0 — сжатие отсутствует, 1 — сжатие с максимальной скоростью. Другие возможные значения определяются алгоритмом сжатия. Например, для zlib максимум 9, а для zstd — 19. По умолчанию: 1

cfs_gc_threshold (integer) #

Минимальный процент «мусорных» блоков в файле, при котором начинается сборка мусора. Если вы хотите отдельно дефрагментировать отношение с меньшим процентом мусора, вы можете временно понизить значение этого параметра в рамках текущего сеанса. По умолчанию: 30

cfs_gc_period (integer) #

Интервал между итерациями процесса сборки мусора CFS (задаётся в миллисекундах). По умолчанию: 5 секунд

cfs_compression (boolean) #

При значении off отключается сжатие CFS. Временное отключение сжатия CFS ускоряет миграцию больших сжатых таблиц. Изменение этого параметра требует перезапуска сервера или перезагрузки конфигурации. Значение по умолчанию — on.

cfs_compress_temp_relations (boolean) #

При значении true включается сжатие временных таблиц. Для больших временных таблиц это может сэкономить место на диске и ускорить выполнение запросов вследствие уменьшения объёма чтения с диска. Этот параметр можно задать только при запуске сервера. Значение по умолчанию — false.

cfs_gc_delay (integer) #

Интервал времени (в миллисекундах), на который сборка мусора приостанавливается после дефрагментации каждого файла. По умолчанию: 0

cfs_gc_respond_time (integer) #

Интервал времени (в секундах), в течение которого CFS ждёт снятия блокировки с файла в процессе сборки мусора, прежде чем запишет предупреждение в лог. По умолчанию: 3600

cfs_gc_time_bloom_query (integer) #

Сообщает количество запросов к фильтру Блума для CFS файлов. Этот параметр доступен только для чтения.

cfs_gc_time_bloom_passed (integer) #

Сообщает количество положительных ответов на запросы к фильтру Блума. Этот параметр доступен только для чтения.

cfs_gc_time_bloom_false_positive (integer) #

Сообщает количество ложных положительных ответов на запросы к фильтру Блума. Этот параметр доступен только для чтения.

cfs_log_verbose (boolean) #

Управляет уровнем детализации сообщений CFS о дефрагментации в журнале. При значении false устанавливается уровень INFO. В этом случае сообщения о дефрагментации записываются в журнал, если у параметра log_min_messages задан уровень детализации от DEBUG5 до INFO.

При значении true устанавливается уровень LOG. В этом случае сообщения о дефрагментации записываются в журнал, если у параметра log_min_messages задан уровень детализации от DEBUG5 до LOG. При этом у всех сообщений о дефрагментации будет префикс LOG вне зависимости от их уровня. Более подробная информация описана в разделе Уровни важности сообщений.

19.16. 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. The number of workers cannot exceed 100. 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: 30

cfs_gc_period (integer) #

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

cfs_compression (boolean) #

When set to off, disables CFS compression. Temporarily disabling CFS compression speeds up the migration of large compressed tables. Changing this parameter requires a server restart or configuration reload. Default: on

cfs_compress_temp_relations (boolean) #

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_messages 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_messages 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.

FAQ