Thursday, July 2, 2015

Anúncio do PostgreSQL 9.5 alfa

O Grupo de Desenvolvimento Global do PostgreSQL anunciou uma versão alfa do PostgreSQL 9.5 hoje. Essa versão contém uma prévia do conjunto de funcionalidades que estarão disponíveis na versão final da 9.5. Vale ressaltar que alguns detalhes podem mudar antes do lançamento da versão final, no entanto, novas funcionalidades não serão adicionadas. Se você quiser preparar o seu sistema para 9.5, essa é a hora de começar a testar. Copie, teste e relate erros que você encontrar.

Algumas das principais funcionalidades disponíveis na versão alfa são:

  • índice BRIN que é um tipo de índice compacto para tabelas muito grandes;
  • melhorias em velocidade de operações de ordenação e hash em memória;
  • gerenciamento automatizado do tamanho do log de transação;
  • INSERT ON CONFLICT UPDATE (também conhecido como UPSERT);
  • operações analíticas com GROUPING SETS, CUBE e ROLLUP;
  • suporte a segurança a nível de registros (RLS);
  • mais funções e operadores para manipulação do tipo JSONB;
  • nova ferramenta pg_rewind e outras melhorias de alta disponibilidade para replicação;
  • múltiplas melhorias no Foreign Data Wrapper, incluindo IMPORT FOREIGN SCHEMA;
  • melhorias de escalabilidade em sistemas com múltiplos cores e grande quantidade de memória.

Essas novas funcionalidades expandem as capacidades do PostgreSQL introduzindo nova sintaxe, APIs e interfaces de gerenciamento. É claro que há inúmeras funcionalidades detalhadas nas notas de lançamento, algumas delas podem ser bem legais para você. Teste todas aquelas que puder.

Como toda nova versão do PostgreSQL, as melhorias incluem uma grande quantidade de código. Nós precisamos de vocês para testar essa versão alfa com as suas cargas e ferramentas de teste no intuito de descobrir bugs e regressões antes que a versão 9.5.0 seja lançada. Além de testar as novas funcionalidades, considere avaliar:

  • As melhorias na ordenação e performance em geral realmente melhoraram a performance na sua aplicação?
  • As mudanças no código fizeram com que o PostgreSQL não funcionasse na sua plataforma?
  • Nós fizemos mudanças no log de transação incluindo compressão. Transferência em caso de falha (failover) e recuperação de desastre ainda funcionam como esperado?
  • As mudanças na precedência de operadores mudaram os resultados nas suas consultas?
  • O RLS funciona corretamente mantendo os seus dados seguros?

Como essa é uma versão alfa, mudanças no comportamento do banco de dados, detalhes de funcionalidades e APIs ainda podem ocorrer. Seus comentários e testes ajudarão a determinar os ajustes finais das novas funcionalidades, assim, teste quando puder. A qualidade do teste dos usuários ajuda a determinar quando faremos a lançamento da nova versão.

A previsão para o lançamento do primeiro beta é agosto/2015, e periodicamente versões beta adicionais serão lançadas até a versão final ainda em 2015. Informações adicionais e sugestões de como testar pode ser obtidas na página Testando Alfa.

A documentação completa e as notas de lançamento da nova versão estão disponíveis. Veja também O Que Há de Novo para detalhes de algumas funcionalidades.

PS> esta é uma tradução livre do anúncio da 9.5 alfa.

Sunday, June 14, 2015

Atualizações importantes

O PostgreSQL Development Group lançou uma atualização para todas as versões suportadas (9.4.4, 9.3.9, 9.2.13, 9.1.18 e 9.0.22) na sexta-feira (22/06). Em menos de 2 meses foram lançadas 3 versões corretivas para cada uma das versões. Em particular, as atualizações nas versões 9.3 e 9.4 introduziram bugs em algumas de suas correções; esse foi o motivo para o lançamento tão rápido de versões corretivas.

Algumas versões corretivas tentaram corrigir problemas no sistema multixact. É fato que a maioria dos usuários não vão chegar a manifestar o bug mas se isso acontecer, você pode ter corrompimento de dados irrecuperável. Não espera saber se alguma de suas aplicações vai produzir tal bug, atualize a versão o quanto antes.

Além do problema no sistema multixact (que coleciona bugs a várias versões), uma correção inexata introduziu um problema na 9.4.2 e 9.3.7 ao realizar um fsync em todo diretório de dados após uma queda. Infelizmente isso conduz a um erro se houver arquivos que não podem ser escritos pelo usuário postgres (por exemplo, arquivo de certificado SSL); a consequência é que o servidor não sobe.

Um outro problema é com o pg_upgrade. O bug pode se manifestar mesmo em versões que não contém o bug mas que foram atualizadas a partir de uma versão problemática. A consequência do bug é disparar um autovacuum em todas as tabelas. Você pode evitar o bug, fazendo um VACUUM manual antes de atualizar para uma versão mais nova.

Se você ainda não atualizou as versões suportadas, o que você está esperando? Esse aviso é urgente principalmente para aqueles que possuem versão 9.4 e 9.3.