CEVIU Logo
Voltar
Postgres 19: Migração da Compressão pglz para LZ4

Postgres 19 Aprimora Compressão de Dados com Migração para LZ4

Aprofundamento CEVIU

Aprofundamento

A mudança da compressão padrão de objetos TOAST do pglz para o LZ4 no vindouro Postgres 19 é um passo significativo na arquitetura de armazenamento. O pglz, criado para o Postgres 7.1, priorizava velocidade e uso mínimo de memória (com uma janela deslizante de 4 KB), sem dependências externas. Ele também tinha um mecanismo rápido de falha para dados incompressíveis. Contudo, foi concebido para uma era diferente do hardware.

O LZ4, por sua vez, é um algoritmo moderno que se alinha melhor com as capacidades atuais, oferecendo compressão significativamente mais rápida (testes mostram até 8 vezes mais rápido em inserções) e, em muitos casos, uma taxa de compressão superior devido à sua janela deslizante de 64 KB. Ele mantém o atributo de falha rápida para dados aleatórios. Essa transição não afeta apenas o armazenamento em heap, mas todo o framework unificado de compressão do Postgres, incluindo tabelas TOAST e índices B-tree, principalmente para tipos de dados de comprimento variável como TEXT, VARCHAR, BYTEA e JSONB que superam o limite de aproximadamente 2 KB.

O que mudou

A grande novidade não é a introdução do LZ4 em si, mas sua elevação a padrão. O CEVIU noticiou, na nossa cobertura sobre as novidades do PostgreSQL 18 e o cronograma para a versão 19, que o LZ4 já estava disponível como uma opção desde o PostgreSQL 14. Desde então, desenvolvedores podiam habilitá-lo via configurações globais (default_toast_compression = 'lz4') ou por coluna específica (column_name text COMPRESSION lz4).

Com o Postgres 19, essa configuração se torna o default, beneficiando automaticamente novas instalações e atualizações sem a necessidade de intervenção manual. Isso mostra uma evolução no projeto: o que antes era um recurso opcional, agora é parte intrínseca da otimização de armazenamento, refletindo a confiança da equipe de desenvolvimento no desempenho e estabilidade do LZ4.

Por que isso importa

Para engenheiros e analistas de dados, esta mudança representa ganhos diretos em eficiência. Dados de comprimento variável, comuns em aplicações web e sistemas de dados não-estruturados, serão armazenados de forma mais compacta e processados com menor latência. Isso se traduz em menos espaço em disco, I/O mais rápido e melhor desempenho geral para operações de escrita e leitura em bancos de dados com grandes volumes de TEXT, JSONB ou BYTEA.

A adoção do LZ4 como padrão é um indicativo de que o Postgres continua a evoluir, adaptando-se às demandas de performance e armazenamento de sistemas modernos, um tema que o CEVIU tem acompanhado de perto, como na notícia sobre o lançamento do PostgreSQL 19 Beta 1.

Linha do tempo

  1. Lançamento oficial do PostgreSQL 18

  2. PostgreSQL 19 Beta 1 é disponibilizado para testes

  3. Postgres 19 anuncia migração da compressão padrão TOAST para LZ4

Perguntas frequentes

O que é TOAST no PostgreSQL?

TOAST (The Oversized-Attribute Storage Technique) é uma técnica do PostgreSQL para armazenar dados grandes que excedem o tamanho de uma página de dados (geralmente 8 KB). Ele move esses dados para uma tabela auxiliar, mantendo um ponteiro para eles na tabela principal. Isso evita que linhas individuais se tornem muito grandes e prejudiquem o desempenho.

Quais tipos de dados serão mais beneficiados com a mudança para LZ4?

Tipos de dados de comprimento variável são os principais beneficiados. Isso inclui TEXT, VARCHAR, BYTEA e JSONB. Dados nesses formatos que superem o limite de aproximadamente 2 KB, e que antes seriam comprimidos com pglz, agora usarão o LZ4, resultando em melhor performance e eficiência de armazenamento.

Como essa mudança afeta o desempenho do banco de dados?

A migração para LZ4 resultará em compressão mais rápida de dados, o que pode acelerar operações de inserção e atualização. A melhor taxa de compressão, quando aplicável, reduzirá o uso de espaço em disco e a quantidade de I/O necessária, otimizando o desempenho geral do banco de dados, especialmente para cargas de trabalho intensivas em dados.

O LZ4 já estava disponível no PostgreSQL antes da versão 19?

Sim, o LZ4 já podia ser usado no PostgreSQL desde a versão 14. Ele era oferecido como uma opção de compressão para colunas específicas ou via configuração global. A novidade na versão 19 é que o LZ4 se tornará o algoritmo de compressão padrão para objetos TOAST, substituindo o antigo pglz por default.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Dados
Publicado
20 de julho de 2026
Editoria
CEVIU Dados

Quer receber mais sobre CEVIU Dados?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser