Lançamento do SGBD PostgreSQL 12.

Após um ano de desenvolvimento foi publicado nova ramificação estável do SGBD PostgreSQL 12. Atualizações para a nova ramificação serão lançadas durante cinco anos até novembro de 2024.

Principais novidades:

  • Adicionada suporte para “colunas geradas“, cujos valores são calculados com base em uma expressão que engloba valores de outras colunas na mesma tabela (análogos a visões, mas para colunas individuais). Colunas geradas podem ser de dois tipos — armazenadas e virtuais. No primeiro caso, o valor é calculado no momento da inserção ou alteração de dados, enquanto no segundo, é calculado a cada leitura com base no estado atual de outras colunas. Atualmente, o PostgreSQL suporta apenas colunas geradas armazenadas;
  • Adicionada a capacidade de executar consultas a partir de documentos JSON usando expressões de caminho, semelhantes a XPath e definidas no padrão SQL/JSON. Para aumentar a eficiência do processamento de tais expressões para documentos armazenados no formato JSONB, são aplicados mecanismos de indexação existentes;
  • Ativada por padrão a aplicação do compilador JIT (Just-in-Time) com base nas descobertas do LLVM para acelerar a execução de algumas expressões durante o processamento de consultas SQL. Por exemplo, JIT é aplicável para acelerar a execução de expressões dentro de blocos "WHERE", em listas de saída (target lists), expressões agregadas e algumas operações internas;
  • Significativamente aumentada a performance de indexação. Os índices B-tree foram otimizados para trabalhar em condições de frequente alteração de índices — em testes TPC-C, observou-se um aumento geral de desempenho e uma redução no consumo de espaço em disco, em média 40%. Reduzidos os custos de geração do log de gravação antecipada (WAL) para tipos de índices GiST, GIN e SP-GiST. Para GiST, adicionada a capacidade de criar índices de envoltório (via expressão INCLUDE) que incluem colunas adicionais. Na operação CREATE STATISTICS foi assegurado o suporte para estatísticas sobre os valores mais comuns (MCV), permitindo gerar planos de consulta mais otimizados ao utilizar colunas com distribuição não uniforme;
  • A implementação de particionamento foi otimizada para consultas que abrangem tabelas com milhares de seções, limitando-se à seleção de um subconjunto restrito de dados. A performance da inserção de dados em tabelas particionadas foi aumentada com operações INSERT e COPY, e agora também é possível adicionar novas seções através de "ALTER TABLE ATTACH PARTITION" sem bloquear a execução das consultas;
  • Foi adicionado suporte para a expansão inline automática de expressões de tabela comuns (Common Table Expression, CTE), que permitem o uso de conjuntos de resultados nomeados temporários definidos com o operador WITH. A expansão inline pode melhorar o desempenho da maioria das consultas, mas atualmente é aplicada apenas para CTE não recursivas;
  • Suporte adicionado não determinísticos propriedades de localidade "Collation", que permitem definir regras de ordenação e métodos de comparação levando em conta o significado dos caracteres (por exemplo, ao ordenar valores numéricos, é considerado a presença de um sinal negativo e ponto antes do número e diferentes formas de escrita, enquanto comparações ignoram diferenças de maiúsculas e minúsculas e a presença de acentos);
  • Foi adicionado suporte para autenticação multifatorial do cliente, onde no pg_hba.conf é possível combinar a autenticação por certificado SSL (clientcert=verify-full) com um método adicional de autenticação, como scram-sha-256;
  • Foi adicionado suporte para criptografia da comunicação durante a autenticação via GSSAPI, tanto do lado do cliente quanto do lado do servidor;
  • Foi adicionado suporte para a definição de servidores LDAP com base em registros "DNS SRV", se o PostgreSQL for compilado com OpenLDAP;
  • Foi adicionada a operação "REINDEX CONCURRENTLY" para reconstruir índices sem bloquear operações de gravação no índice;
  • Foi adicionada o comando pg_checksums, que permite ativar e desativar a verificação de somas de verificação das páginas de dados em um banco de dados existente (anteriormente, essa operação só era suportada durante a inicialização do banco de dados);
  • Foi garantida a exibição de um indicador de progresso durante a execução das operações CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL e pg_checksums;
  • Foi adicionada a comando "CREATE ACCESS METHOD" para conectar manipuladores de novos métodos de armazenamento de tabelas, otimizados para diferentes tarefas específicas. Atualmente, o único método de acesso embutido às tabelas é o "heap";
  • O arquivo de configuração recovery.conf foi mesclado com postgresql.conf. Agora, como indicadores para a transição ao estado de recuperação após falhas, devem-se utilizar os arquivos recovery.signal e standby.signal. deve utilizar os arquivos recovery.signal e standby.signal.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster