Repolode
jackc

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

    Instale o módulo pgx v5 com Go

    go get github.com/jackc/pgx/v5
  2. 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