Gerdan Santos, consultor líder, participará do evento DBA Brasil 1.0
18 de abril de 2016Os desafios das Entregas de Projetos
19 de julho de 2016O PostgreSQL Global Development Group (PGDG) lançou uma atualização para todas as versões com suporte do PostgreSQL, incluindo 9.5.2, 9.4.7, 9.3.12, 9.2.16, e 9.1.21. Foram corrigidos dois problemas de segurança e outro relativo a corrupção de índices na versão 9.5. Também contém outras correções para versões anteriores. Usuários de PostgreSQL 9.5.0 ou 9.5.1 devem atualizar assim que possível.
Correções de Segurança para RLS, BRIN
Essa versão corrige a falha de segurança CVE-2016-219 (https://access.redhat.com/security/cve/CVE-2016-2193), onde um plano de execução de uma consulta/query poderia ser reutilizada indevidamente em mais de uma ROLE na mesma sessão. Isso poderia causar uma configuração errada das políticas Row Level Security (RLS) usadas na consulta/query.
A atualização também corrige a CVE-2016-3065 (https://access.redhat.com/security/cve/CVE-2016-3065), um bug que causa o crash do servidor causado pelo uso do recurso pageinspect em páginas de índice BRIN. Devido a um atacante poder expor alguns bytes da memória do servidor, esse crash está sendo tratado como uma falha de segurança.
Abbreviated Keys e Corrupção de Índices
Nessa atualização, o PostgreSQL Project foi forçado a desativar o recurso de performance Abbreviated Keys da versão 9.5 devido a relatos de corrupção de índices. Esse recurso pode afetar qualquer índice B-tree com colunas caracter TEXT, VARCHAR e CHAR sem locale “C”. Índices com outros locales perderão os benefícios de performance desse recurso, e deveriam ser REINDEXados no caso de corrupção de índice. Esse recurso poderá ser reativado em futuras versões se o projeto encontrar uma solução para o problema. Consulte as Release Notes e a página na wiki sobre esse tópico para mais informações.
Outras correções e melhorias
Além dos itens acima, outras correções foram implementadas baseadas em bugs reportados por nossos usuários nos últimos meses, incluindo aqueles que afetam várias versões do PostgreSQL, a saber:
– Corrigir dois bugs em comparações ROW() indexadas
– Evitar perda de dados ao renomear arquivos
– Evitar um erro ao rechecar linhas em um SELECT FOR UPDATE/SHARE
– Corrigir bugs em várias funções json* e jsonb*;
– Registrar log corretamente de lock waits em comandos INSERT ON CONFLICT
– Ignorar recovery_min_apply_delay até atingir um estado consistente
– Corrigir erro em XID wraparound ao executar pg_subtrans
– Corrigir bugs variados em Logical Decoding
– Corrigir planner error com nested security barrier views
– Prevenir memory leak em índices GIN
– Corrigir dois bugs em dicionários ispell
– Evitar crash em versões antigas para Windows
– Ignorar a criação de script delete com erro no pg_upgrade
– Traduzir corretamente arrays vazios em PL/Perl
– Fazer com que o PL/Python lide com identifier names
– Essa atualização também contém a release 2016c do tzdata, com atualizações para Azerbaijão, Chile, Haiti, Palestina e Rússia, e correções históricas para outras regiões.
Atualizando
Usuários da versão 9.5 devem REINDEXar qualquer índice criado com colunas do tipo character com non-C locales. Usuários de outras versões que não rodaram as releases anteriores podem precisar executar etapas adicionais; consulte as Release Notes para detalhes.
Todas as releases PostgreSQL são cumulativas. Assim como acontece com outras minor releases, usuários não são obrigados a fazer dump e reload de seus bancos de dados ou usar pg_upgrade para aplicar essa release, você pode simplesmente baixar o serviço do PostgreSQL e atualizar seus binários.
Links
Download: http://www.postgresql.org/download
Release Notes: http://www.postgresql.org/docs/current/static/release.html
Security Page: http://www.postgresql.org/support/security/
Abbreviated Keys Issue: http://wiki.postgresql.org/wiki/Abbreviatedkeys_issue
Esse artigo originalmente foi disponibilizado em: http://www.postgresql.org/about/news/1656/