Подтвердить что ты не робот

Сжатие текста в PostgreSQL

Я знаю, что в SQL мы можем сжимать текстовое поле следующим образом:

CREATE TABLE TableName (FieldName CHARACTER(255) WITH COMPRESSION);

Я хочу знать, как добиться сжатия текста в Postgres.

4b9b3361

Ответ 1

Сжатие включено по умолчанию для всех типов строк, вам не нужно сообщать базе данных об этом. Ознакомьтесь с руководством по эксплуатации TOAST

  • PLAIN предотвращает сжатие или внешнее хранилище; кроме того, он отключает использование однобайтовых заголовков для типов varlena. Это единственное возможная стратегия для столбцов типы данных, не соответствующие TOAST.
  • EXTENDED позволяет как сжатие, так и внеочередное хранилище. Это по умолчанию для большинства TOAST-данных типы. Будет выполнено сжатие. сначала, а затем вне очереди, если строка все еще слишком большая.
  • EXTERNAL позволяет хранить в автономном режиме но не сжатия. Использование ВНЕШНЕГО будет выполнять операции подстроки расширенный текст и столбцы bytea (при увеличении объема хранения пространство), поскольку эти операции оптимизирован для получения только требуемых части значения вне линии, когда он не сжимается.
  • MAIN позволяет сжатие, но не внеочередное хранилище. (На самом деле, внеочередное хранилище будет по-прежнему выполняется для таких столбцов, но только в крайнем случае, когда нет другой способ сделать строку маленькой достаточно, чтобы поместиться на странице.)