- 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
Comentários do Hacker News
\bind, que vem ganhando popularidade por permitir executar consultas parametrizadas da mesma forma que os aplicativos fazem.debug_io_direct.