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 |
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 |
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 |
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 |
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 |
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 |
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. |