Relatando resultados de testes automatizados com eficácia.
14 de agosto de 2020O WSO2 é nomeado líder em API Management Solutions
31 de agosto de 2020O Grupo de Desenvolvimento Global do PostgreSQL lançou em 13/08/2020, uma atualização para todas as versões suportadas, incluindo 12.3, 11.8, 10.13, 9.6.18, 9.5.22 bem como a terceira versão beta do PostgreSQL 13. Esta versão corrige dois problemas de segurança e outros cinquenta bugs reportados no último trimestre.
Problemas de segurança
- CVE-2020-14349: Search Path (caminho de pesquisa) não controlado em replicação lógica.
Versões afetadas: 10 – 12.
O parâmetro search_path do PostgreSQL determina os esquemas pesquisados por tabelas, funções, operadores, etc. A correção CVE-2018-1058 fez com que a maioria dos aplicativos clientes fornecidos pelo PostgreSQL limpassem o search_path, mas a replicação lógica continuou a deixar search_path inalterada. Os usuários de um Publisher ou Subscriber podem criar objetos no esquema público e aproveitá-los para executar funções SQL arbitrárias sob a identidade que executa a replicação, geralmente um superusuário. As instalações que adotaram um padrão de uso de esquema seguro documentado não são vulneráveis.
https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PATTERNS
- CVE-2020-14350: Search Path (caminho de pesquisa) não controlado em CREATE EXTENSION.
Versões afetadas: 9,5 – 12.
A equipe de segurança normalmente não testa as versões não suportadas, mas este problema é bastante antigo. Quando um superusuário executa certas instruções CREATE EXTENSION, os usuários podem executar funções SQL arbitrárias sob a identidade desse superusuário. O invasor deve ter permissão para criar objetos no esquema da nova extensão ou no esquema de uma extensão de pré-requisito. Nem todas as extensões são vulneráveis. Além de corrigir as extensões fornecidas com o PostgreSQL, o PostgreSQL Global Development Group está emitindo orientações para autores de extensões terceirizados para proteger seu próprio trabalho.
O projeto PostgreSQL agradece Andres Freund por relatar este problema.
Uma nota sobre o PostgreSQL 13 Beta
Esta versão marca a terceira versão beta do PostgreSQL 13 e coloca a comunidade um passo mais perto da disponibilidade geral neste outono. No espírito código aberto da comunidade PostgreSQL, recomendamos enfaticamente que você teste os novos recursos do PostgreSQL 13 em seus sistemas de banco de dados para nos ajudar a eliminar quaisquer bugs ou outros problemas que possam existir. Embora não aconselhemos você a executar o PostgreSQL 13 Beta 3 em seus ambientes de produção, encorajamos você a encontrar maneiras de executar suas cargas típicas de trabalho de aplicativos nesta versão beta. Seus testes e comentários ajudarão a comunidade a garantir que o lançamento do PostgreSQL 13 mantenha nossos padrões de fornecer um lançamento estável e confiável do banco de dados relacional de código aberto mais avançado do mundo.
Aviso de fim de vida do PostgreSQL 9.5
O PostgreSQL 9.5 deixará de receber correções em 11 de fevereiro de 2021. Se você estiver executando o PostgreSQL 9.5 em um ambiente de produção, sugerimos que faça planos para atualizar para uma versão suportada mais recente do PostgreSQL. Por favor, veja nossa política de versionamento para mais informações.
https://www.postgresql.org/support/versioning/
Correções de bugs e melhorias
Esta atualização também corrige mais de 50 bugs que foram relatados nos últimos meses. Alguns desses problemas afetam apenas a versão 12, mas muitos afetam todas as versões com suporte.
Algumas dessas correções incluem:
- Corrigidos os casos extremos na remoção de partição envolvendo várias colunas de chave de partição com várias ou nenhuma cláusula WHERE de restrição.
- Várias correções para planos de execução de consultas envolvendo partições.
- Correção para determinar quando executar um gatilho (Trigger) de UPDATE específico de coluna em um assinante (subscriber) de replicação lógica.
- pg_replication_slot_advance() agora atualiza os valores xmin e LSN mais antigos, pois a falha em fazer isso pode evitar que recursos (por exemplo, arquivos WAL) sejam limpos.
- Corrigida uma perda de peformance em ts_headline().
- Certifica-se de que pg_read_file() e funções relacionadas sejam lidas até que o EOF seja alcançado, o que corrige a compatibilidade com canais e outros arquivos virtuais.
- Proibir valores NaN numéricos em cálculos jsonpath, que não existem em SQL nem JSON.
- Várias correções para entradas NaN com funções de agregação. Isso corrige uma mudança no PostgreSQL 12 onde os valores NaN faziam com que as seguintes agregações emitissem valores de 0 em vez de NaN: corr(), covar_pop(), regr_intercept(), regr_r2(), regr_slope() ,_sxx(), regr_sxy() , regr_syy(), stddev_pop() e var_pop().
- Os valores de time e timetz fracionadamente maiores que 24:00:00 são rejeitados.
- Várias correções para EXPLAIN, incluindo uma correção para relatar o uso de recursos quando um plano usa workers paralelos com nós “Gather Merge”.
- Corrigido o tempo de revalidação de constraint em ALTER TABLE que pode levar a erros ímpares.
- Correção para REINDEX CONCURRENTLY que pode impedir que valores antigos sejam incluídos na saída de decodificação lógica futura.
- Correção de referências LATERAIS que podem causar travamentos durante a execução da consulta.
- Usa o collation especificado para uma consulta ao estimar os custos do operador.
- Corrigida as anomalias de verificação de conflito no modo de isolamento de transação SERIALIZABLE.
- Certifica-se de que o processo do checkpointer descarte as solicitações de sincronização de arquivos quando o fsync estiver desligado.
- Corrigido o problema em que pg_control poderia ser gravado com uma soma de verificação (checksum) inconsistente, o que poderia levar à incapacidade de reiniciar o banco de dados se ele travasse antes da próxima atualização do pg_control.
- Certifica-se de que libpq continue tentando ler do soquete de conexão do banco de dados após uma falha de gravação, pois isso permite que a conexão colete quaisquer mensagens de erro finais do servidor.
- Relata erros de falta de espaço em disco corretamente no pg_dump e pg_basebackup
- Várias correções para o pg_restore, incluindo uma correção para restauração paralela em tabelas que têm privilégios de nível de tabela e de coluna.
- Correção para o pg_upgrade para garantir que ele seja executado com o vacuum_defer_cleanup_age definido como 0.
- Corrigido como pg_rewind lida com arquivos recém-apagados no diretório de dados de origem.
- Corrigida falha ao inicializar o estado local corretamente em contrib / dblink, o que poderia fazer com que dblink_close() emitisse um COMMIT inesperado no servidor remoto.
- Mudança no contrib/amcheck para não relatar sobre páginas de índice excluídas que estão vazias, pois isso é normal durante a reprodução do WAL.
NOTA:
Todas as versões de atualização do PostgreSQL são cumulativas. Tal como acontece com outras versões minoritárias, os usuários não são obrigados a realizar o dump e recarregar seu banco de dados ou usar o pg_upgrade para aplicar esta versão de atualização; você pode simplesmente parar o PostgreSQL e atualizar seus binários.
Os usuários que pularam uma ou mais versões de atualização podem precisar executar etapas adicionais de pós-atualização; consulte as notas de lançamento para versões anteriores para obter detalhes.
https://www.postgresql.org/docs/current/release.html
PostgreSQL 13 Beta 3 Notas
PostgreSQL 13 Beta 3 introduz um novo parâmetro de configuração, hash_mem_multiplier, que permite aos usuários ajustar quanta memória deve ser alocada para uma agregação de hash. Isso dá aos usuários mais controle sobre se as agregações de hash usarão o armazenamento em disco ou permanecerão na memória, sendo o último a única opção antes do PostgreSQL 13.
Testando Bugs e Compatibilidade
A estabilidade de cada versão do PostgreSQL depende muito de você, a comunidade, para testar a próxima versão com suas cargas de trabalho e ferramentas de teste a fim de encontrar bugs e regressões antes da disponibilidade geral do PostgreSQL 13. Como se trata de um Beta, pequenas alterações de comportamento no banco de dados, detalhes de recursos e APIs ainda são possíveis. Seus comentários e testes ajudarão a determinar os ajustes finais nos novos recursos, portanto teste em um futuro próximo. A qualidade do teste do usuário ajuda a determinar quando podemos fazer uma versão final.
Contate-nos para mais informações, em: https://www.tecnisys.com.br/contato