14 pontos por GN⁺ 2023-09-15 | 1 comentários | Compartilhar no WhatsApp
  • O PostgreSQL 16 melhora o desempenho com avanços notáveis em paralelismo de consultas, carregamento em massa de dados e replicação lógica
  • Introduz mais sintaxe SQL/JSON, novas estatísticas de monitoramento para cargas de trabalho e maior flexibilidade na definição de regras de controle de acesso

Melhorias de desempenho

  • O planejador de consultas agora paraleliza joins FULL e RIGHT, gera planos mais otimizados para consultas com cláusulas DISTINCT ou ORDER BY, aproveita ordenação incremental em consultas SELECT DISTINCT e otimiza funções de janela
  • O carregamento em massa com COPY foi aprimorado em operações individuais e concorrentes, com ganhos de desempenho de até 300% em alguns casos
  • Introduz aceleração de CPU com SIMD nas arquiteturas x86 e ARM, melhorando o desempenho no processamento de strings ASCII e JSON, arrays e buscas de subtransações

Replicação lógica

  • Agora é possível executar replicação lógica a partir de uma instância standby, abrindo novas opções de distribuição de trabalho
    • Replicar alterações para ambientes downstream usando a standby em vez da primária sobrecarregada
  • O desempenho da replicação lógica também foi melhorado
    • O subscriber pode aplicar grandes transações usando workers paralelos
    • Para tabelas sem chave primária, agora é possível localizar linhas usando índice B-tree em vez de varredura sequencial
    • Em determinadas condições, é possível acelerar a sincronização inicial de tabelas usando formato binário

Experiência do desenvolvedor

  • Adiciona mais sintaxe do padrão SQL/JSON, incluindo construtores e predicados como JSON_ARRAY(), JSON_ARRAYAGG() e IS JSON
  • Agora é possível usar underscore em números com separador de milhar (5_432_000)
  • O psql recebeu \bind, permitindo escrever consultas com parâmetros e substituí-los por variáveis
  • Melhor suporte para ordenação de texto

Monitoramento

  • Adiciona pg_stat_io, que fornece métricas para analisar com granularidade os padrões de acesso de I/O
  • Adiciona à view pg_stat_all_tables campos de timestamp que registram quando uma tabela ou índice foi escaneado pela última vez
  • Torna o auto_explain mais legível ao registrar os valores passados para instruções parametrizadas

Controle de acesso e segurança

  • Oferece opções mais granulares para controle de acesso
  • Também melhora outros recursos de segurança, incluindo a administração dos arquivos pg_hba.conf e pg_ident.conf, além da adição de vários parâmetros de conexão de cliente voltados à segurança

1 comentários

 
GN⁺ 2023-09-15
Comentários do Hacker News
  • O lançamento do PostgreSQL 16 está sendo comparado a um feito importante como o pouso na Lua, por causa da quantidade de trabalho não remunerado e reflexão necessária para manter um grande projeto open source ao longo de décadas.
  • O autor do comentário elogia a equipe do PostgreSQL e destaca a importância da infraestrutura de software, comparando-a à infraestrutura física, como pontes e estradas.
  • O PostgreSQL 16 introduziu o novo recurso \bind, que vem ganhando popularidade por permitir executar consultas parametrizadas da mesma forma que os aplicativos fazem.
  • A adição de construtores e funções de identificação SQL/JSON é considerada uma melhoria de qualidade de vida no PostgreSQL 16.
  • Há expectativa em torno do recurso de I/O direto, que no momento está por trás da configuração debug_io_direct.
  • Há uma pergunta sobre melhorias no recurso "vacuum", usado para otimizar o desempenho do banco de dados.
  • Há uma pergunta sobre se a criptografia transparente por padrão está sendo considerada para versões futuras.
  • Um usuário expressa entusiasmo com a nova versão, mas menciona que instalou o PostgreSQL 15 no Debian mais recente e que talvez precise pesquisar os novos recursos que poderiam ser úteis para ele.