Atualização do PostgreSQL. Lançamento do reshape, um utilitário para migrar para um novo esquema sem interromper o trabalho

Atualizações corretivas foram geradas para todas as ramificações suportadas do PostgreSQL: 14.2, 13.6, 12.10, 11.15 e 10.20, que corrigem 55 erros identificados nos últimos três meses. Entre outras coisas, corrigimos problemas que, em raras circunstâncias, levavam à corrupção do índice ao alterar cadeias HOT (tupla somente heap) durante uma operação VACUUM ou ao executar uma operação REINDEX CONCURRENTLY em índices em tabelas que usam o mecanismo de armazenamento TOAST.

Corrigidas falhas ao executar ALTER STATISTICS e ao recuperar dados com tipos multirange. Bugs no planejador de consultas que causavam resultados incorretos foram corrigidos. Foram corrigidos vazamentos de memória ao atualizar índices usando expressões e ao executar uma operação REASSIGN OWNED BY em um grande número de objetos. É fornecida a construção de estatísticas avançadas para tabelas segmentadas.

Além disso, podemos destacar o lançamento do utilitário reshape, que permite realizar atualizações complexas no esquema de dados no PostgreSQL sem interromper o trabalho, o que em condições normais requer alterações manuais e desligamento temporário dos serviços que utilizam o banco de dados. O utilitário permite passar do esquema de dados antigo para o novo sem bloqueios demorados e sem interromper o ciclo de processamento da solicitação. O utilitário cria automaticamente visualizações de tabela com as quais os aplicativos continuam trabalhando durante a migração do esquema de dados e também configura gatilhos que traduzem operações de adição e exclusão de dados entre os esquemas antigo e novo.

Assim, ao usar o reshape durante a migração, o esquema antigo e o novo permanecem disponíveis ao mesmo tempo e os aplicativos podem ser gradualmente transferidos para o novo esquema sem interromper o trabalho (em grandes infraestruturas, os manipuladores podem ser gradualmente substituídos do antigo pelo novo). Assim que a migração dos aplicativos para o novo esquema for concluída, as visualizações e os gatilhos criados para manter o suporte ao esquema antigo serão excluídos. Se forem identificados problemas com aplicativos durante a migração, será possível reverter a alteração do esquema e reverter para o estado antigo.

Fonte: opennet.ru

Adicionar um comentário