Recentemente Os desenvolvedores do PostgreSQL anunciaram o lançamento das versões de correção 9 a 12 as novas versões são 12.2, 11.7, 10.12, 9.6.17, 9.5.21 e 9.4.26. Das quais esta última (9.4.26) é a última atualização que está preparada para os ramos 9.4. Enquanto as atualizações para a versão 9.5 serão formadas até fevereiro de 2021, 9.6 até novembro de 2021, PostgreSQL 10 até novembro de 2022, PostgreSQL 11 até novembro de 2023 e PostgreSQL 12 até novembro de 2024.
Com o lançamento de novas versões corretivas os desenvolvedores mencionam 75 bugs corrigidos e vulnerabilidade corrigida (CVE-2020-1720) devido à falta de verificação de autorização ao executar o comando «ALTER… DEPENDS ON EXTENSION».
Sobre vulnerabilidade
Em certas circunstâncias, a vulnerabilidade permite que um usuário sem privilégios remova qualquer função, procedimento, visão materializada, índice ou gatilho. Um ataque é possível se o administrador instalou alguma extensão e o usuário pode executar o comando CREATE ou o proprietário da extensão pode ser persuadido a executar o comando DROP EXTENSION.
Além disso, você pode ver a aparência de um novo aplicativo pgcat, que permite que os dados sejam replicados entre vários servidores PostgreSQL. O programa oferece suporte à replicação lógica por meio da tradução e reprodução em outro host de um script SQL executado no servidor principal que leva a alterações de dados.
Outras mudanças
Algumas mudanças que afetam apenas a versão 12 também são destacadas:
- Suporte para qualquer tipo de tabelas de destino (visualizações, fdw (Foreign Data Wrapper), tabelas segmentadas, tabelas citus distribuídas).
- Capacidade de redefinir nomes de tabelas (replicação de uma tabela para outra).
- Suporte para replicação bidirecional por meio da transferência apenas de alterações locais, ignorando réplicas vindas de fora.
- A presença de um sistema de resolução de conflitos baseado no algoritmo LWW (last-writer-win).
- A capacidade de salvar informações sobre o progresso da replicação e réplicas não aplicadas em uma tabela separada, que pode ser usada para restaurar após a retomada do nó de recebimento temporariamente inacessível.
Y das correções, destacam-se as seguintes, das quais a maioria afeta a versão 12 mas também estão presentes em algumas versões anteriores:
- Bug corrigido ao adicionar restrições de chave estrangeira à tabela subparticionada (também conhecida como tabela particionada de vários níveis). Se essa funcionalidade já tiver sido usada, pode ser resolvido desanexando e reconectando a partição afetada ou descartando e readicionando a restrição de chave estrangeira à tabela primária. Você pode encontrar mais informações sobre como executar essas etapas na documentação ALTER TABLE.
- Corrigido o problema de desempenho para tabelas particionadas introduzidas pela correção para CVE-2017-7484 que agora permite que o planejador use estatísticas em uma tabela filho para uma coluna à qual o usuário tem acesso na tabela pai quando a consulta contém um operador com vazamento.
- Várias outras correções e alterações em tabelas particionadas, incluindo desconsiderar expressões de chave de partição que retornam pseudo-tipos, como RECORD.
- Correção para assinantes de replicação lógica para executar gatilhos UPDATE por coluna.
- Correção para vários travamentos e travamentos para assinantes e editores de replicação lógica.
- Melhorou a eficiência da replicação lógica com REPLICA IDENTITY FULL.
- Várias correções para processos walsender.
- O desempenho de hashes com relacionamentos internos muito grandes é aprimorado.
- Várias correções para planos de consulta paralelos.
- Várias correções para bugs do planejador de consulta, incluindo uma que afeta junções de subconsulta de uma única linha.
- Incluiu várias correções para estatísticas de extensão MCV, incluindo uma para estimativa incorreta de cláusulas OR.
- Melhorou a eficiência da junção hash paralela em CPUs com muitos núcleos.
Se você quiser saber mais sobre o lançamento dessas versões corretivas, você pode verificar os detalhes em o seguinte link.
Em relação à atualização para a nova versão corretiva correspondente à versão na qual você está, você não precisa executar um pg_upgrade, você só precisa atualizar os binários de sua instalação.