Em 17 de outubro, Workshop – Plataforma de Integração
9 de outubro de 2019Testes baseados em riscos
17 de outubro de 2019O Grupo de Desenvolvimento Global do PostgreSQL anunciou o lançamento do PostgreSQL 12, a versão mais recente do banco de dados de código aberto mais avançado do mundo.
As melhorias do PostgreSQL 12 incluem melhorias notáveis no desempenho das consultas, particularmente em grandes conjuntos de dados, e na utilização geral do espaço em disco. Esta versão fornece aos desenvolvedores de aplicativos novos recursos, como suporte à expressão de caminho SQL/JSON, otimizações na execução de CTEs (Common Table Expression – WITH) e colunas geradas.
Melhorias gerais de desempenho
O PostgreSQL 12 fornece aprimoramentos significativos de desempenho e manutenção no sistema de indexação e no particionamento.
Os índices B-tree, o tipo padrão de indexação no PostgreSQL, foram otimizados no PostgreSQL 12 para lidar melhor com workloads, onde os índices são frequentemente modificados. O benchmark com o padrão TPC-C, no PostgreSQL 12, demonstrou, em média, uma redução de 40% na utilização do espaço em disco e um ganho geral no desempenho das consultas.
As consultas em tabelas particionadas também obtiveram melhorias, principalmente para tabelas com milhares de partições que precisam apenas recuperar dados de um subconjunto limitado. O PostgreSQL 12 também melhorou o desempenho na inserção de dados em tabelas particionadas com INSERT e COPY, incluindo a capacidade de anexar uma nova partição bloquear as consultas.
Autenticação
O PostgreSQL 12 agora suporta uma forma de autenticação multifator. Um servidor PostgreSQL agora pode exigir que um cliente de autenticação forneça um certificado SSL válido com seu nome de usuário usando a opção clientcert=verify-full e combine isso com a exigência de um método de autenticação separado (por exemplo scram-sha-256).
Administração
O PostgreSQL 12 apresenta a capacidade de reconstrução dos índices sem bloquear gravações por meio do comando REINDEX CONCURRENTLY, permitindo que os usuários evitem cenários de tempo de inatividade para longas reconstruções de índice.
Além disso, o PostgreSQL 12 agora pode ativar ou desativar o checksum de página em um cluster offline usando o comando pg_checksums. O checksum de página anterior, um recurso para ajudar a verificar a integridade dos dados armazenados no disco, só podia ser ativado no momento em que um cluster do PostgreSQL fosse inicializado com o initdb.
Principais mudanças:
-
Colunas oid removidas;
-
O recovery.conf foi removido e todos os parâmetros foram mesclados no postgresql.conf; Para iniciar o servidor no modo de espera, cria-se $PGDATA/standby.signal. Para iniciar o servidor no modo recuperação, cria-se $PGDATA/recovery.signal. Se os dois arquivos existirem, o modo de espera terá precedência.
Figura 1 – Junção do recovery.conf com o postgresql.conf
-
REAL e DOUBLE PRECISION podem gerar diferentes números de dígitos (somente aqueles que preservam o valor binário exato). Os valores anteriores foram arredondados para 6 ou 15 casas decimais. extra_float_digits = 0 restaura o comportamento antigo;
-
O pg_restore se recusa a enviar para stdout, a menos que voce especifique -f -. O comportamento anterior era inconsistente com outros binários do PostgreSQL.
Fontes:
https://www.postgresql.org/docs/12/release-12.html
https://www.postgresql.org/about/news/1976/