Cliente PostgreSQL não bloqueante para Node.js, com driver em JavaScript puro e bindings nativos opcionais para libpq.
jackc/pgx
Driver e toolkit PostgreSQL escritos inteiramente em Go, com recursos específicos como LISTEN/NOTIFY e COPY.
- Estrelas
- 14,385
- Forks
- 1,159
- Issues abertas
- 218
- Último commit
- há 9 horas
O que é?
pgx é um driver e toolkit para PostgreSQL escritos inteiramente em Go. Sua interface de driver é de baixo nível e voltada a desempenho, além de oferecer recursos específicos do PostgreSQL, como LISTEN / NOTIFY e COPY. Também inclui um adaptador para a interface padrão database/sql, para projetos que já dependem dela.
O toolkit reúne pacotes que implementam funcionalidades do PostgreSQL, como análise do protocolo de comunicação e mapeamento de tipos entre PostgreSQL e Go. Eles podem ser reutilizados para criar drivers alternativos, proxies, balanceadores de carga ou clientes de replicação lógica. O projeto também oferece um pool de conexões (pgxpool) para uso concorrente.
O projeto oferece suporte a cerca de 70 tipos do PostgreSQL, cache de prepared statements, consultas em lote, codificação em formato binário para tipos personalizados e hooks de tracing e logging. Requer Go 1.25 ou posterior e PostgreSQL 14 ou posterior.
Recursos principais
- 01Suporte a cerca de 70 tipos do PostgreSQL, com mapeamento de tipos para Go
- 02Cache automático de prepared statements e consultas em lote
- 03Suporte ao protocolo COPY para carregamento de dados em massa
- 04Suporte a LISTEN / NOTIFY e objetos grandes
- 05Pool de conexões com hook após a conexão
- 06Hooks de tracing e logging, além de um adaptador para database/sql
Casos de uso
- Criar serviços em Go que se conectam diretamente ao PostgreSQL e precisam de recursos específicos dele
- Carregar grandes conjuntos de dados em massa com o protocolo COPY
- Desenvolver um proxy PostgreSQL, um pooler de conexões ou um cliente de replicação lógica
- Usar pgx em uma base de código existente que depende de database/sql
Início rápido
- 1
Instale o módulo pgx v5 com Go
go get github.com/jackc/pgx/v5 - 2
Escreva um programa que se conecte usando pgx.Connect e a variável de ambiente DATABASE_URL e execute uma consulta
Antes de usar
- É necessário um servidor PostgreSQL para conexão (há suporte para a versão 14 ou posterior).
- É necessário Go 1.25 ou posterior.
Em coleções
Tópicos
Perguntas frequentes
- O que é pgx?
- Driver e toolkit PostgreSQL escritos inteiramente em Go, com recursos específicos como LISTEN/NOTIFY e COPY. pgx é um driver e toolkit para PostgreSQL escritos inteiramente em Go. Sua interface de driver é de baixo nível e voltada a desempenho, além de oferecer recursos específicos do PostgreSQL, como LISTEN / NOTIFY e COPY. Também inclui um adaptador para a interface padrão database/sql, para projetos que já dependem dela.
- pgx é gratuito? Qual é a licença?
- pgx é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pgx ainda é mantido?
- Manutenção ativa. O último commit de pgx foi em 7 de nov. de 2026.
- Para que posso usar pgx?
- Criar serviços em Go que se conectam diretamente ao PostgreSQL e precisam de recursos específicos dele Carregar grandes conjuntos de dados em massa com o protocolo COPY Desenvolver um proxy PostgreSQL, um pooler de conexões ou um cliente de replicação lógica Usar pgx em uma base de código existente que depende de database/sql
- Como instalar pgx?
- Instale o módulo pgx v5 com Go: go get github.com/jackc/pgx/v5 Escreva um programa que se conecte usando pgx.Connect e a variável de ambiente DATABASE_URL e execute uma consulta
- Onde consigo pgx?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jackc/pgx
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Driver JDBC Type 4 oficial para conectar programas Java a bancos PostgreSQL e executar consultas.
Toolkit SQL assíncrono e escrito inteiramente em Rust, com consultas SQL comuns verificadas em tempo de compilação e suporte a PostgreSQL, MySQL/MariaDB e SQLite.
Ferramenta de migração de bancos de dados escrita em Go, com CLI e biblioteca para aplicar alterações de schema em ordem em vários bancos.
CLI e biblioteca Go para gerenciar alterações no schema do banco de dados com arquivos SQL versionados ou funções Go.
Cliente SQL desktop gratuito e multiplataforma, com ferramentas para bancos de dados e suporte a mais de 100 bancos via drivers JDBC e ODBC.