Novidades do PostgreSQL 15

No último dia 19 de Maio de 2022, a comunidade PostgreSQL anunciou a versão beta do PostgreSQL 15, já disponível para download.

Abaixo, destacamos as principais novidades dessa versão, de acordo com o documento publicado pela comunidade.


Desenvolvimento


Esta versão apresenta o MERGE, um comando padrão SQL para realizar operações de gravação condicionalmente ( INSERT, UPDATE, ou DELETE) em dados. Antes desta versão, o mesmo comportamento podia ser obtido usando procedimentos armazenados ou, de forma limitada, com o INSERT ... ON CONFLICT. Com o PostgreSQL 15, os desenvolvedores podem escrever consultas simples e expressivas para escolher a ação de modificação de dados apropriada a ser executada.


O PostgreSQL 15 se baseia em seu suporte existente para a linguagem de caminho SQL/JSON, incluindo mais funções como construtores SQL/JSON , funções de consulta/introspecção e a capacidade de converter dados JSON em uma tabela.


O PostgreSQL 15 adiciona mais funções de expressão regular , incluindo regexp_count, regexp_instr, regexp_likee regexp_substr. a range_agg função, introduzida no PostgreSQL 15 para agregar tipos de rangedados em multirangetipos, agora também suporta multirangetipos de agregação.


Performance

Esta versão inclui uma aceleração significativa para classificar conjunto de dados maiores. Em particular, esses são conjuntos de dados que excedem o work_memparâmetro.


Foi introduzida a paralelização para SELECT DISTINCT e melhorias no desempenho de funções que usam row_number(), rank()e count().


Os aplicativos que usam o wrapper de dados externos do PostgreSQL para gerenciar dados em servidores PostgreSQL remotos agora podem permitir que as transações sejam confirmadas em paralelo .


Há também vários aprimoramentos de desempenho para consultas envolvendo tabelas com partições.


O sistema PostgreSQL e as tabelas TOAST , usadas para armazenar dados maiores que uma única página (8kB), agora podem utilizar a desduplicação de índice e se beneficiar de índices menores e pesquisas mais rápidas.


O comando psql \copy, usado para carregar dados em massa, também possui melhorias de desempenho no PostgreSQL 15.


Backups, arquivamento e compactação

Com base na versão anterior que introduziu a compactação LZ4, o PostgreSQL 15 adiciona suporte para compactação Zstandard (zstd) a vários componentes.


pg_basebackup, um utilitário usado para fazer backups completos de um cluster PostgreSQL, agora suporta compactação do lado do servidor usando compactação Gzip, LZ4 ou Zstandard. O pg_basebackupcliente agora também pode descompactar backups que usam compactação LZ4 e Zstandard.


Os arquivos de log de gravação antecipada (WAL) agora podem ser compactados usando a compactação LZ4 e Zstandard por meio do wal_compression parâmetro de configuração. Além disso, o PostgreSQL 15 também adiciona a recovery_prefetch opção que pode ajudar a acelerar as operações de recuperação por meio da pré-busca de blocos de dados. Esta versão adiciona um novo módulo chamado pg_walinspect que permite inspecionar informações sobre arquivos WAL diretamente do SQL.


O PostgreSQL 15 permite realizar arquivamento WAL sem executar um comando shell especificando um arquivo archive_library. Um exemplo de biblioteca de arquivamento WAL pode ser encontrado no basic_archivemódulo. Além disso, as extensões agora podem definir seus próprios gerenciadores de recursos WAL que lhes permitem trabalhar com replicação lógica.


Replicação lógica

O PostgreSQL 15 apresenta filtragem de linha e filtragem de coluna para replicação lógica. Além disso, os usuários agora podem especificar convenientemente para publicar todas as tabelas em um esquema, onde anteriormente só era possível fazer isso para todas as tabelas em um banco de dados.


Esta versão também adiciona mais suporte para lidar com conflitos . Um assinante agora pode especificar disable_on_error para interromper automaticamente a replicação lógica em caso de erro. O PostgreSQL 15 possibilita pular a aplicação de alterações usando o ALTER SUBSCRIPTION ... SKIP comando.


Administração

O PostgreSQL 15 introduz o jsonlogformato de log, permitindo que os logs do PostgreSQL sejam consumidos por muitos programas que realizam agregação e análise de logs estruturados. PostgreSQL 15 agora, por padrão, registra pontos de verificação e operações de autovacuum que são lentas.


O psqlcliente agora tem um comando chamado \dconfig para inspecionar os valores dos parâmetros de configuração. Por padrão, \dconfig exibe qualquer parâmetro de configuração que não esteja definido com seu valor padrão.


O PostgreSQL 15 agora armazena todas as estatísticas em nível de servidor na memória compartilhada. O servidor não executa mais um processo do coletor de estatísticas.


O ALTER TABLE comando agora pode modificar o ACCESS METHOD, que é usado para definir o sistema de armazenamento usado pela tabela.


Segurança

O PostgreSQL 15 introduz novos padrões quando os bancos de dados são criados dentro de um cluster PostgreSQL. Quando um novo banco de dados é criado, os usuários fora do proprietário do banco de dados (representado por pg_database_owner) e os superusuários não podem mais criar objetos no publicesquema padrão.


O PostgreSQL 15 adiciona suporte para " visualizações do invocador de segurança", que usa os privilégios do usuário que executa a consulta em vez do usuário que criou a visualização.


Usuários sem privilégios no PostgreSQL 15 agora podem receber privilégios para alterar variáveis ​​de servidor via SETe ALTER SYSTEM.


Para obter maiores informações, acesse a documentação do produto.


Fonte: https://www.postgresql.org/about/news/postgresql-15-beta-1-released-2453/


Documentação: https://www.postgresql.org/docs/15/release-15.html

Download: https://www.postgresql.org/download/

32 visualizações