Які варіанти стиснення для зберігання великої кількості тексту в Postgres?


9

Мені потрібно зберігати велику кількість тексту в Postgres, в основному журнали команд та вихід довгих запущених команд, і мені потрібно знати, чи є якісь налаштування, які можуть допомогти прозоро стискати дані за допомогою інструмента, як zlib, чи якихось інших методів збереження простору. .

Дані - це передусім лише дані для читання, тому написання не є проблемою.


3
з посібника : " Довгі рядки стискаються системою автоматично ", і ось більш детальний опис: postgresql.org/docs/current/static/storage-toast.html
a_horse_with_no_name

3
Ми використовуємо алгоритм стиснення з низьким співвідношенням, оскільки він повинен мати низьку вартість процесора. Тож все одно варто зробити іншу форму стиснення і встановити EXTERNALсховище на стовпчик.
Крейг Рінгер

@CraigRinger Якщо ви говорите про іншу форму стиснення, ви маєте на увазі встановлення додаткових параметрів Postgres або компіляцію якогось додаткового модуля, будь то готову бібліотеку чи власну?
vfclists

Відповіді:


3

За замовчуванням Postgres автоматично стискає все TEXT. Він використовує простий алгоритм lzcompress:

https://www.postgresql.org/docs/9.3/storage-toast.html

Існує плагін, який, ймовірно, перетвориться на підтримку стиснення LZ4 для TEXT:

https://github.com/zilder/pg_lz4

Є FDW, який також підтримує стиснення:

https://www.citusdata.com/blog/2014/04/03/columnar-store-for-analytics/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.