Destaques

Conheça os destaques de cada componente do PostgreSYS 3.0.0:

Componente Versão Destaques

PgSmart

3.0.0

Arquitetura Client-Server.

Registro abrangente de logs.

Automação aprimorada.

Melhorias na usabilidade do CLI.

PostgreSQL

15.2

Aprimoramento de algoritmos de classificação(sort) de conjuntos de dados maiores. Introduzida paralelização para SELECT DISTINCT e melhorias no desempenho de funções.

Suporte à compactação LZ4 e Zstandard(zstd) para arquivos WAL, trazendo benefícios de espaço e desempenho.

Módulos personalizados para arquivamento, eliminando a sobrecarga do uso de comandos shell.

Inclusão do comando MERGE padrão SQL para realizar operações de gravação condicionais(INSERT, UPDATE e DELETE) dentro de uma única instrução.

Filtragem de linhas e listas de colunas para replicação lógica.

Confirmação de transações em paralelo para aplicativos que usam o wrapper de dados externos para gerenciar dados em servidores PostgreSQL remotos.

Melhorias na carga de dados em massa (comando psql/copy)

Desduplicação de índice - viabilizando índices menores e pesquisas mais rapidas.

Opção para acelerar operações de recuperação por meio de pré-busca de blocos de dados(recovery_prefetch) e inspecionar informações sobre arquivos WAL diretamente do SQL (PG_WALINSPECT).

Mais suporte para tratamento de conflitos como o disable_on_error para interromper automaticamente a replicação logica em caso de erro e o ALTER SUBSCRIPTION…​ SKIP para pular a aplicação de alterações.

Introdução do formato jsonlog, permitindo que logs sejam consumidos por muitos programas que realizam agregação e análise de logs estruturados.

Armazenamento de estatisticas em nivel de servidor na memoria compartilhada, eliminando o processo de coleta e gravação periodica no disco.

Novos padrões de segurança na criação de um banco de dados dentro de um Cluster PostgreSQL.

Suporte para visualização do invocador de segurança com uso de privilegios do usuario que executa a consulta e não do usuario que criou a visualização.

pgBackRest

2.45

Backup "block incremental", economizando espaço no repositorio, armazenando apenas as partes do arquivo que foram alteradas desde o último backup.

Melhorias de documentação como a adição de instruções explicitas para upgrade entre versões 2.x e remoção de referencias ao SSH quando TLS foi introduzido

Adição de "dica"(hint) quando não é possível encontrar o cluster primário.

Tamanho do bloco de upload configurável para armazenamento de objetos.

Atualização do timestamp do archive.info após um backup bem sucedido.

Movimentação da verificação do timeline de espera após o checkpoint.

Melhoria na mensagem de warning no backup resume.

Suporte ao OpenSSL3.

Criação de snapshot ao listar o conteudo de um caminho.

Força o target-timeline para "current" quando o restore type=imediato. "trunca" arquivos durante o "delta restore" quando são maiores que o esperado.

Define "backup percent complete" para zero antes do início da copia.

Desabilita o salvamento incremental do "manifest" quando resume =n.

PgBouncer

1.19.0

Nova opção "auth_dbname" que especifica em qual banco de dados executar o auth_query e novo comando SHOW STATE que mostra se o PgBouncer está ativo, pausado ou suspenso.

Recursos adicionais para gerenciar solicitações de cancelamento.

Suporte para peering entre processos PgBouncer, permitindo configurar o Pgbouncer para que requisições de cancelamento continuem funcionando quando vários processos distintos do PgBouncer estão "atrás" de um um único balanceador de carga.

Adição de configuração dedicada cancel_wait_timeout, que determina após quanto tempo desistir de encaminhar uma solicitação de cancelamento (padrão = 10s).

Novo framework de testes.

Definição de banco de dados permitindo uma lista de hosts separados por vírgula. Os hosts serão conectados de forma round-robin (escalonamento circular), permitindo a repartição uniforme do tempo de CPU .

Erro "banco de dados inexistente" relatado somente após a autenticação, impedindo que clientes não autenticados investiguem quais bancos de dados existem.

Remoção da recarga auth_file automática. O auth_file será relido apenas na recarga do arquivo de configuração e não mais sempre que alterado, de forma automática.

Suporte à "hot reloading" nas configurações TLS. Quando a configuração é recarregada as mudanças tornam-se automaticamente com efeito.

Suporte a sockets abstratos de domínio Unix . Prefixo @ no Unix-domain para usar um socket no abstract namespace.

Tamanho mínimo do pool pode ser definido por database.

Numero de cancelamento de queries pendentes mostrado em SHOW POOLS.

Patroni

3.0.2

Adiciona status de replica standby sync ao endpoint /metrics. Antes só era reportado o primary/standby_leader/replica.

PAGER User-friendly no patronictl configurável por meio da variável de ambiente PAGER, substituindo o padrão less e more.

Código de status HTTP K8s configurável.

Definição de hot_standby como off durante a inicialização personalizada apenas se recovery_target_action estiver como promote.

Não permite mais que o callback "on_reload" elimine outros callbacks.

Integração com Citus.

DCS com modo à prova de falhas, permitindo que o cluster Patroni sobreviva a interrupções temporárias do DCS.

Supressão de erros recorrentes ao descartar slots de replicação desconhecidos mas ativos.

Execução de apenas uma query de monitoramento por loop HÁ, o que não era o caso quando synchronous replication está habilitado.

Manutenção apenas do diretorio de dados com falha mais recente.

Aprimoramento nas conexões de replicação sincronas. Quando um novo host é adicionado ao synchronous_standby_names, será definido como sincrono no DCS apenas quando alcançar o primario e pg_stat_replication.sync_state = 'sync'.

etcd

3.5.7

Inclusão de um processo security release (processo de liberação de segurança), aderindo aos mais altos niveis de praticas de segurança recomendados.

Melhorias no backend de armazenamento, incluindo o desempenho de workloads do kubernets em grande escala, transações de leitura de longa duração.

Transações de leitura de backend totalmente simultâneas.

Melhoria no desempenho de expiração/revogação de leasing.

Processo de "Raft Voting" aprimorado com a adoção do algoritmo Raft consensus para replicação de dados.

Introdução do estado de nó "learner", para solucionar falhas e indisponibilidade durante a reconfiguração de membros.

Novo balanceador de cliente com lógica de failover simplificada, eliminando a dependência da interface gRPC.

Adoção do zap logger como padrão, um codificador JSON reflection-free com alocação zero.

Suporte à built-in log rotation, configurando limites de rotação, algoritmos de compactação, etc.

Informações de "trace" mais detalhadas para requisições "expensivas".

Omitização na operação "protocol buffer message size" reduzindo em até 50% o consumo de memoria durante o pico de uso.

adoção do módulo Go 1.16, habilitando a separação entre codigo cliente e servidor e a gerenciamento de mudanças.

Refatoramento da documentação para o usuario e modernização da hospedagem do site com Hugo.

Transações de leitura de back-end totalmente simultâneas.

Suporte à passagem de argumentos opcionais para scripts Lua por meio de duas diretivas (lua-load e lua-load-per-thread).

HAProxy

2.7.6

Novo recurso - modelagem de tráfego, que permite limitar a velocidade com que clientes podem fazer upload ou download de dados.

Melhoria no desempenho da verificação de integridade para reduzir a carga da CPU.

Tentativas atualizadas da camada 7, que reutilizam conexões HTTP ociosas mesmo para as primeiras solicitações do cliente.

Inúmeras correções e melhorias na stack QUIC .

Tabelas Stick (armazenamentoi in-memory) com bloqueio mais eficiente - Uso do rwlock ao acessar uma tabela Stick, permitindo que vários threads leiam da tabela , sendo que apenas um thread pode escrever. Isto substitui o spinlock que impunha acesso exclusivo para leituras e gravações.

Melhorias na eficiência do bloqueio da mesa stick - possibilidade de divisão de dados de uma tabela stick em subconjuntos (fragmentos) antes de distribui-los entre diFerentes pares da tabela stick, permitindo a divisão do trabalho de processamento de um grande conjunto de dados.

Melhorias de usabilidade SSL - com o aprimoramento de duas opções de diretiva de ligação (ca-ignore-err e crt-ignore-err) - que definem uma lista de erros de certificado SSL a serem ignorados

Novos conversores e comandos da API Runtime.

Aprimoramento de um conjunto de ferramentas de depuração.

Suporte ao HTTP/3 sobre QUIC.

Algoritmo genérico de balanceamento de carga de hash.

API em tempo de execução retornando lista de provedores carregados no OpenSSL.

Módulo Lua customizado, viabilizando a atualização de certificado SSL na memória do processo HAProxy atual por meio do CertCache.

Novas buscas (last_rule_file, last_rule_line) e conversores(table_expire, table_idle, host_only, port_only, x509_v_err_str) auxiliando a identificar porque uma solicitação foi encerrada.

API em tempo de execução, com a adição de um novo comando Runtime API (add ssl ca-file), que adiciona um novo certificado SSL a um arquivo CA(certificate authority).

Master CLI com um novo comando de reload que aguarda a conclusão do reload e mostra o status do processo recém bifurcado.