O PostgreSQL 16 já está disponível e inclui muitos novos recursos e melhorias; incluindo:
- Permitir paralelização de junções de hash FULL e inner right OUTER
- Permitir replicação lógica do servidor em espera
- Permitir que assinantes de replicação lógica apliquem grandes transações em paralelo
- Permite o monitoramento de estatísticas de E/S usando a nova visualização pg_stat_io
- Adicionar construtor SQL/JSON e funções de identidade
- Melhore o desempenho do congelamento a vácuo
- Adicionado suporte para correspondência de expressões regulares de nomes de usuários e nomes de banco de dados em pg_hba.conf e nomes de usuários em pg_ident.conf
A versão 16 contém algumas alterações que podem afetar a compatibilidade com versões anteriores. Esteja ciente das seguintes incompatibilidades:
- Alterar as regras de atribuição para variáveis de cursor vinculadas ao
- Anteriormente, o valor da string de tal variável era definido durante a alocação do cursor para corresponder ao nome da variável; agora ele será
OPEN
alocado durante e não corresponde ao nome da variável. Para restaurar o comportamento anterior,OPEN
atribua previamente o nome do portal necessário à variável do cursor. NULLS NOT DISTINCT
Desabilitar o uso de índices de chaves primárias- Altere
REINDEX DATABASE
e reindexdb para que não lide com a indexação nos diretórios do sistema - Esses índices ainda podem ser processados usando
REINDEX SYSTEM
e .reindexdb --system
GENERATED
Reforce as restrições de expressão em tabelas herdadas e particionadas- As colunas da tabela pai/particionada e da tabela filha/particionada devem ter todas o mesmo status de construção, embora a expressão de construção real agora possa ser diferente.
- Remova a função pg_walinspect
pg_get_wal_records_info_till_end_of_wal()
epg_get_wal_stats_till_end_of_wal()
- Renomeie a variável do servidor
force_parallel_mode
paradebug_parallel_query
- Removida a capacidade de criar visualizações
ON SELECT
manualmente usando regras - Excluir variáveis do servidor
vacuum_defer_cleanup_age
- Desde a adição de hot_standby_feedback e replication slots , esta variável não é mais necessária.
- Excluir variáveis do servidor
promote_trigger_file
- Isso é usado para promover o banco de dados standby para o banco de dados primário, mas é usado agora
pg_ctl promote
oupg_promote()
é mais fácil de realizar.
- Isso é usado para promover o banco de dados standby para o banco de dados primário, mas é usado agora
- Remova variáveis de servidor somente leitura
lc_collate
elc_ctype
- Agrupamentos e localidades podem diferir entre bancos de dados, portanto, torná-los variáveis de servidor somente leitura não é útil.
- A herança de função agora controla
GRANT
o status de herança padrão das funções de membro adicionadas durante- O comportamento herdado padrão das funções pode ser substituído por novas
GRANT ... WITH INHERIT
cláusulas. Isto permite a herança de algumas funções, mas não de outras, uma vez que o status de herança dos membros éGRANT
definido ao longo do tempo. Anteriormente, o status de herança de uma função de membro era controlado apenas pelo status de herança da função, e as alterações no status de herança de uma função afetavam todas as funções de membro anteriores e futuras.
- O comportamento herdado padrão das funções pode ser substituído por novas
- Limite
CREATEROLE
as permissões de um personagem e sua capacidade de modificar outras funções- Anteriormente,
CREATEROLE
uma função com permissões poderia alterar muitos aspectos de qualquer função que não fosse de superusuário. Essas alterações (incluindo a adição de membros) agora exigemADMIN OPTION
permissões da função que solicita a alteração.CREATEDB
Por exemplo , agora apenas essas propriedades podem ser alteradas se tiverem permissões para propriedadesREPLICATION
eBYPASSRLS
propriedades.
- Anteriormente,
- Remover links simbólicos para o binário
Mais detalhes podem ser encontrados no anúncio oficial .