September 25, 2025: PostgreSQL 18 Released!
This page in: Chinese / English / French / German / Greek / Hebrew / Indonesian / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Thai / Ukrainian

PostgreSQL 18 Press Kit

Contents

Original Press Release

25 de Setembro de 2025 - O Grupo de Desenvolvimento Global do PostgreSQL anunciou hoje o lançamento do PostgreSQL 18, a versão mais recente do banco de dados de código aberto mais avançado do mundo.

PostgreSQL 18 melhora o desempenho de cargas de trabalho de todos os tamanhos por meio de um novo subsistema de I/O que demonstrou melhorias de desempenho de até 3x na leitura do armazenamento e também aumenta o número de consultas que podem usar índices. Esta versão torna as atualizações de versões menos disruptivas, acelerando os tempos de atualização e reduzindo o tempo necessário para atingir o desempenho esperado após a conclusão de uma atualização. Os desenvolvedores também se beneficiam dos recursos do PostgreSQL 18, incluindo colunas geradas virtuais que calculam valores no momento da consulta e a função uuidv7(), que oferece melhor indexação e desempenho de leitura para UUIDs. O PostgreSQL 18 facilita a integração com sistemas de logon único (SSO) com suporte para autenticação OAuth 2.0.

"Os esforços da comunidade global de código aberto moldam cada lançamento do PostgreSQL e ajudam a fornecer recursos que atendem aos usuários onde seus dados residem", disse Jonathan Katz, um membro da equipe principal do PostgreSQL. "PostgreSQL 18 se baseia no longo e rico histórico do projeto de fornecer uma experiência de gerenciamento de dados confiável e robusta, ao mesmo tempo em que continua a expandir as cargas de trabalho que pode suportar."

PostgreSQL, um sistema inovador de gerenciamento de dados conhecido por sua confiabilidade, robustez e extensibilidade, se beneficia de quase 30 anos de desenvolvimento de código aberto de uma comunidade global de desenvolvedores e se tornou o banco de dados relacional de código aberto preferido por organizações de todos os tamanhos.

Introduzindo I/O assíncrono

PostgreSQL anteriormente dependia de mecanismos de leitura antecipada do sistema operacional para acelerar a recuperação de dados. No entanto, como os sistemas operacionais não têm conhecimento dos padrões de acesso específicos do banco de dados, nem sempre conseguem prever quais dados serão necessários, resultando em desempenho abaixo do ideal em muitas cargas de trabalho.

O PostgreSQL 18 introduz um novo subsistema de I/O assíncrono (AIO) projetado para lidar com essa limitação. O AIO permite que o PostgreSQL emita múltiplas solicitações de I/O simultaneamente, em vez de esperar que cada uma seja concluída em sequência. Isso expande a leitura antecipada existente e melhora a taxa de transferência geral. As operações de AIO suportadas no PostgreSQL 18 incluem buscas sequenciais, buscas por bitmap da heap e limpeza de tabelas. O benchmarking demonstrou ganhos de desempenho de até 3x em determinados cenários.

O novo parâmetro io_method permite alternar entre os métodos AIO, incluindo worker e io_uring, ou você pode optar por manter o comportamento atual do PostgreSQL com a configuração sync. Agora há mais parâmetros a serem considerados para ajuste com AIO, sobre os quais você pode aprender mais na documentação.

Atualizações mais rápidas, melhor desempenho pós-atualização

Um recurso fundamental do PostgreSQL é a geração e o armazenamento de estatísticas que ajudam o PostgreSQL a selecionar o plano de consulta mais eficiente. Antes do PostgreSQL 18, essas estatísticas não eram transferidas em uma atualização para nova versão, o que podia causar degradações significativas no desempenho das consultas em sistemas sobrecarregados até que o comando ANALYZE terminasse de ser executado. O PostgreSQL 18 introduz a capacidade de manter estatísticas do planejador durante uma atualização para nova versão, o que ajuda um cluster atualizado a atingir o desempenho esperado mais rapidamente após a atualização.

Além disso, o pg_upgrade, um utilitário que realiza atualizações para novas versões, inclui diversas melhorias no PostgreSQL 18, tais como atualizações mais rápidas quando um banco de dados contém muitos objetos, como tabelas e sequências. Esta versão também permite que o pg_upgrade processe suas verificações em paralelo com base na configuração da opção --jobs e adiciona a opção --swap que troca diretórios de atualização em vez de copiar, clonar ou vincular arquivos.

Melhorias de consulta e desempenho geral

O PostgreSQL 18 acelera ainda mais o desempenho das consultas com funcionalidades que tornam suas cargas de trabalho mais rápidas automaticamente. Esta versão introduz pesquisas "skip scan" em índices de árvore B com múltiplas colunas, o que melhora o tempo de execução para consultas que omitem uma condição = em uma ou mais colunas iniciais do índice. Ele também pode otimizar consultas que usam condições OR em um WHERE para usar um índice, resultando em uma execução significativamente mais rápida. Há também inúmeras melhorias na forma como o PostgreSQL planeja e executa junções de tabelas, desde o aumento do desempenho de junções hash ao permitir que junções por mesclagem usem ordenações incrementais. O PostgreSQL 18 também suporta compilações paralelas para índices GIN, se juntando a índices de árvore B e BRIN que suportam essa funcionalidade.

Esta versão também introduz suporte a aceleração de hardware no PostgreSQL, incluindo suporte para intrínsecos de CPU ARM NEON e SVE para a função popcount, que é usada pelo bit_count e outros recursos internos.

Melhorando a experiência do desenvolvedor

O PostgreSQL 18 introduz colunas geradas virtuais que calculam valores no momento da consulta, em vez de armazená-los. Esta agora é a opção padrão para colunas geradas. Além disso, colunas geradas armazenadas agora podem ser replicadas logicamente.

Esta versão adiciona a capacidade de acessar os valores anteriores (OLD) e atuais (NEW) na cláusula RETURNING para os comandos INSERT, UPDATE, DELETE e MERGE. O PostgreSQL 18 também adiciona a geração de UUIDv7 por meio da função uuidv7(), permitindo gerar UUIDs aleatórios ordenados por data e hora para oferecer suporte a melhores estratégias de cache. O PostgreSQL 18 inclui uuidv4() como um alias para gen_random_uuid().

O PostgreSQL 18 adiciona restrições temporais -- restrições sobre intervalos -- para as restrições PRIMARY KEY e UNIQUE usando a cláusula WITHOUT OVERLAPS, e para as restrições FOREIGN KEY usando a cláusula PERIOD.

Por fim, o PostgreSQL 18 facilita a criação da definição de esquema de uma tabela externa usando a definição de uma tabela local com o comando CREATE FOREIGN TABLE ... LIKE.

Processamento de texto aprimorado

O PostgreSQL 18 torna o processamento de texto mais fácil e rápido com diversos novos aprimoramentos. Esta versão adiciona a ordenação PG_UNICODE_FAST, que fornece semântica Unicode completa para transformações de maiúsculas e minúsculas, ajudando a acelerar muitas comparações. Isso inclui as funções de comparação de cadeias de caracteres upper e lower e a nova função casefold para comparações que não diferenciam maiúsculas de minúsculas. Além disso, o PostgreSQL 18 agora suporta comparações LIKE sobre texto que usa uma ordenação não determinística, simplificando a execução de correspondências de padrões mais complexas. Esta versão também altera a busca textual para usar o provedor de ordenação padrão de um cluster em vez de sempre usar libc, o que pode exigir a reindexação de todos os índices de busca textual e pg_trgm após executar o pg_upgrade.

Recursos de autenticação e segurança

O PostgreSQL 18 introduz a autenticação oauth, que permite aos usuários autenticar usando mecanismos OAuth 2.0 suportados por extensões do PostgreSQL. Além disso, o PostgreSQL 18 inclui validação para o modo FIPS e adiciona o parâmetro ssl_tls13_ciphers para configurar conjuntos de cifras TLS v1.3 do lado do servidor.

Esta versão descontinua a autenticação de senha md5, que será removida em uma versão futura. Se você precisar de autenticação baseada em senha do PostgreSQL, use a autenticação SCRAM. O PostgreSQL 18 também suporta autenticação de passagem SCRAM com postgres_fdw e dblink para autenticação em instâncias remotas do PostgreSQL. Além disso, pgcrypto agora suporta criptografia SHA-2 para hash de senha.

Replicação

O PostgreSQL 18 suporta o relato de conflitos de escrita na replicação lógica em logs e na visão pg_stat_subscription_stats. Além disso, CREATE SUBSCRIPTION agora usa streaming paralelo por padrão para aplicar transações, o que pode ajudar a melhorar o desempenho. O utilitário pg_createsubscriber agora possui uma opção --all para que você possa criar réplicas lógicas para todos os bancos de dados em uma instância com um único comando. O PostgreSQL 18 também permite que você remova automaticamente slots de replicação ociosos para ajudar a evitar o armazenamento de muitos arquivos de log de transação em um publicador.

Manutenção e observabilidade

O PostgreSQL 18 aprimora sua estratégia de limpeza (vacuum), congelando proativamente mais páginas durante limpezas regulares, reduzindo a sobrecarga e auxiliando em situações que exigem limpezas agressivas.

O PostgreSQL 18 adiciona mais detalhes ao EXPLAIN, que fornece informações sobre a execução do plano de consulta e, a partir desta versão, agora mostra automaticamente quantos buffers (a unidade fundamental de armazenamento de dados) são acessados ao executar EXPLAIN ANALYZE. Além disso, EXPLAIN ANALYZE agora mostra quantas consultas de índice ocorrem durante uma busca por índice, e EXPLAIN ANALYZE VERBOSE inclui estatísticas de CPU, WAL e leitura média. O PostgreSQL 18 inclui mais informações em pg_stat_all_tables sobre o tempo gasto na limpeza e operações relacionadas, bem como estatísticas por conexão sobre a utilização de I/O e WAL.

Outras mudanças notáveis

Bancos de dados inicializados com o initdb do PostgreSQL 18 agora têm somas de verificação de página habilitadas por padrão. Isso pode afetar atualizações de clusters sem soma de verificação habilitada, o que exigiria a criação de um novo cluster do PostgreSQL 18 com a opção --no-data-checksums ao usar pg_upgrade.

O PostgreSQL 18 também apresenta uma nova versão (3.2) do protocolo do PostgreSQL, a primeira versão do protocolo desde o PostgreSQL 7.4 (2003). A libpq ainda usa a versão 3.0 por padrão, enquanto clientes (por exemplo, drivers, poolers, proxies) adicionam suporte para a nova versão do protocolo.

Funcionalidades Adicionais

Muitas outras novas funcionalidades e melhorias foram adicionadas ao PostgreSQL 18 que também podem ser úteis para os seus casos de uso. Veja as notas de lançamento para a lista completa de funcionalidades novas e modificadas.

Sobre PostgreSQL

PostgreSQL é o banco de dados mais avançado do mundo, com uma comunidade global de milhares de usuários, colaboradores, empresas e organizações. Desde de sua criação na Universidade da Califórnia, Berkeley, há mais de 40 anos, o PostgreSQL tem mantido um ritmo inigualável de desenvolvimento. Conjunto de funcionalidades maduras do PostgreSQL não só se igualam aos principais sistemas de bancos de dados proprietários, mas os supera em funcionalidades avançadas, extensibilidade, segurança e estabilidade.

Sobre PostgreSQL

PostgreSQL é o banco de dados mais avançado do mundo, com uma comunidade global de milhares de usuários, colaboradores, empresas e organizações. Desde de sua criação na Universidade da Califórnia, Berkeley, há mais de 40 anos, o PostgreSQL tem mantido um ritmo inigualável de desenvolvimento. Conjunto de funcionalidades maduras do PostgreSQL não só se igualam aos principais sistemas de bancos de dados proprietários, mas os supera em funcionalidades avançadas, extensibilidade, segurança e estabilidade.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

Mais Sobre as Funcionalidades

Para explicação sobre as funcionalidades acima e outras, consulte os seguintes links:

Onde Baixar

Há várias maneiras de fazer uma cópia do PostgreSQL 18, incluindo:

Outras ferramentas e extensões estão disponíveis na PostgreSQL Extension Network.

Documentação

O PostgreSQL 18 vem com documentação em HTML bem como páginas man, e você também pode navegar na documentação online nos formatos HTML e PDF.

Licença

O PostgreSQL usa a PostgreSQL License, uma licença "permissiva" do tipo BSD. Esta licença certificada pela OSI é amplamente apreciada como flexível e amigável aos negócios, uma vez que não restringe o uso do PostgreSQL com aplicações comerciais e proprietárias. Juntamente com o suporte de múltiplas empresas e a propriedade pública do código fonte, nossa licença torna o PostgreSQL muito popular entre os fornecedores que desejam incorporar um banco de dados em seus produtos sem o medo de taxas, dependência de fornecedor ou alterações nos termos de licenciamento.

Contatos

Página Web

Email

Imagens e Logotipos

Postgres, PostgreSQL e o Logotipo do Elefante (Slonik) são todas marcas registradas da PostgreSQL Community Association. Se você deseja utilizar estas marcas, você deve estar em conformidade com a política de marcas registradas.

PostgreSQL Logo

Suporte Corporativo e Doações

O PostgreSQL conta com o apoio de inúmeras empresas, que financiam desenvolvedores, fornecem recursos de hospedagem e nos dão suporte financeiro. Veja nossa página de patrocinadores para alguns desses apoiadores do projeto.

Há também uma grande comunidade de empresas que oferecem suporte ao PostgreSQL, de consultores individuais a empresas multinacionais.

Se você deseja fazer uma contribuição financeira para o Grupo de Desenvolvimento Global do PostgreSQL ou uma das organizações comunitárias sem fins lucrativos reconhecidas, visite nossa página de doações.