CEVIU Logo
Voltar

PgDog surge como novo pooler de conexões PostgreSQL focado na preservação de estado

Aprofundamento CEVIU

Aprofundamento

O PgDog não é só mais um pooler: é um proxy PostgreSQL de camada 7 escrito em Rust, com parser SQL embutido, que atua como pooler, balanceador de carga e sharder, tudo na mesma binary. Ele resolve dois problemas críticos de operação em produção que outros poolers ignoram por design: a perda de estado da sessão (SET, RLS, search_path) e o colapso da semântica transacional de LISTEN/NOTIFY. Ao invés de forçar aplicações a se adaptarem ao proxy, o PgDog adapta-se ao comportamento esperado do PostgreSQL, rastreando variáveis por cliente, sincronizando estado com SETs automáticos em pipeline e mantendo mensagens pub/sub entre processos via broadcast Tokio + conexão dedicada ao Postgres. Isso elimina a necessidade de reescrever código para usar pooling, especialmente em sistemas legados com RLS baseado em session variables ou workflows que dependem de NOTIFY dentro de transações.

Sua arquitetura multithreaded em Tokio permite escalar centenas de milhares de conexões com poucos processos, evitando o "sharding acidental" de pools, um problema crônico no PgBouncer com SO_REUSEPORT ou no RDS Proxy com autoscaling. Em vez de espalhar métricas, health checks e filas de espera por dezenas de instâncias, o PgDog centraliza isso num único processo, reduzindo complexidade operacional real. Ele já roda em produção há mais de um ano, processando 2M QPS, e suporta sharding online com re-sharding zero-downtime via replicação lógica, funcionalidade ativada pelo PR #279 e testada com terabytes copiados em minutos.

O que mudou

A cobertura CEVIU anterior de 12 de março de 2026 destacava o PgDog como parte da onda de ferramentas em Rust para PostgreSQL, mas ainda como projeto emergente. Agora, em julho de 2026, ele já é uma solução madura em produção há mais de um ano, com financiamento seed de US$ 5,5 milhões, release v0.1.47 estável, suporte a prepared statements completo, sharding online com re-sharding zero-downtime e implantação em escala via Helm e Terraform. O que era 'promessa técnica' virou prática operacional: o parser SQL não é mais conceito, é o mecanismo que garante RLS segura sob pooling, e o suporte a LISTEN/NOTIFY não é experimental, é usado em workflows críticos de notificação em tempo real sem depender de Redis ou SQS.

Por que isso importa

Para equipes de DevOps e engenharia de plataformas, o PgDog reduz o custo de escalabilidade: não exige refatoração de aplicações para usar pooling, elimina a necessidade de múltiplos proxies para lidar com picos de tráfego e simplifica a observabilidade com um único ponto de métricas. Para SREs, ele aumenta a confiabilidade ao preservar semânticas transacionais do Postgres que outras camadas intermediárias quebram silenciosamente, como o desaparecimento de linhas por falha de RLS ou perda de mensagens NOTIFY. E para arquitetos de dados, sua capacidade de sharding cross-shard com agregação em memória e ingestão massiva via COPY abre caminho para escalar OLTP sem migrar para soluções externas ou sacrificar consistência.

Repositório oficial: pgdogdev/pgdog

Linha do tempo

  1. CEVIU destaca PgDog como parte da onda de ferramentas em Rust para PostgreSQL, ainda em fase emergente

  2. PgDog lança versão v0.1.47 em produção estável, com suporte a sharding online, re-sharding zero-downtime e financiamento seed de US$ 5,5 milhões

Perguntas frequentes

O PgDog substitui o PgBouncer ou o RDS Proxy?

Não como drop-in replacement. Ele é uma alternativa quando você precisa de preservação de estado da sessão, LISTEN/NOTIFY com semântica transacional ou sharding. Se seu uso é apenas pooling simples em aplicações que não usam SET ou NOTIFY, PgBouncer ainda é mais leve e consolidado.

Posso usar PgDog com bancos gerenciados como RDS ou Supabase?

Sim. Como é um proxy externo (não uma extensão), ele funciona com qualquer PostgreSQL compatível, incluindo RDS, Aurora, Cloud SQL, Supabase e Neon. Não exige privilégios de superusuário nem instalação de extensões no servidor.

Qual é a principal limitação operacional do PgDog hoje?

Ele é focado em cargas OLTP, não OLAP. Para consultas analíticas pesadas ou agregações cross-shard em grandes volumes, soluções como Citus (como extensão) ainda oferecem melhor otimização nativa. Também exige monitoramento ativo de memória, pois o parser e o cache de estado são mantidos em RAM por conexão.

Como o PgDog lida com failover de réplicas?

Ele suporta health checks customizáveis e pode ser configurado para redirecionar automaticamente leituras para réplicas saudáveis. O balanceamento usa estratégias como 'menos conexões ativas' e 'round robin', mas o failover de escrita (primário) depende da configuração externa de HA do PostgreSQL, o PgDog não faz promoção de réplica.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU DevOps
Publicado
11 de julho de 2026
Editoria
CEVIU DevOps

Quer receber mais sobre CEVIU DevOps?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser