Repolode
jackc

jackc/pgx

Driver y conjunto de herramientas íntegramente en Go para PostgreSQL, con funciones específicas como LISTEN/NOTIFY y COPY.

Estrellas
14,384
Forks
1,159
Issues abiertos
218
Último commit
anteayer

¿Qué es?

pgx es un driver y conjunto de herramientas para PostgreSQL implementado íntegramente en Go. Su interfaz de driver es de bajo nivel y está orientada al rendimiento; además, expone funciones específicas de PostgreSQL, como LISTEN / NOTIFY y COPY. También incluye un adaptador para la interfaz estándar database/sql, pensado para el código que ya depende de ella.

El conjunto de herramientas está formado por paquetes que implementan funciones de PostgreSQL, como el análisis del protocolo de red y la correspondencia de tipos entre PostgreSQL y Go. Se pueden reutilizar para crear drivers alternativos, proxies, balanceadores de carga o clientes de replicación lógica. También incluye un pool de conexiones (pgxpool) para uso concurrente.

El proyecto admite alrededor de 70 tipos de PostgreSQL, caché de sentencias preparadas, consultas por lotes, codificación en formato binario para tipos personalizados y hooks de tracing y logging. Es compatible con Go 1.25 y versiones posteriores, y con PostgreSQL 14 y versiones posteriores.

Funciones clave

  • 01Admite alrededor de 70 tipos de PostgreSQL y su correspondencia con tipos de Go
  • 02Caché automática de sentencias preparadas y consultas por lotes
  • 03Compatibilidad con el protocolo COPY para la carga masiva de datos
  • 04Compatibilidad con LISTEN / NOTIFY y objetos grandes
  • 05Pool de conexiones con un hook posterior a la conexión
  • 06Hooks de tracing y logging, además de un adaptador para database/sql

Casos de uso

  • Crear servicios en Go que se conecten directamente a PostgreSQL y necesiten sus funciones específicas
  • Cargar grandes conjuntos de datos mediante el protocolo COPY
  • Crear un proxy de PostgreSQL, un pooler de conexiones o un cliente de replicación lógica
  • Usar pgx en una base de código existente que dependa de database/sql

Inicio rápido

  1. 1

    Instala el módulo pgx v5 con Go

    go get github.com/jackc/pgx/v5
  2. 2

    Escribe un programa que se conecte con pgx.Connect usando una variable de entorno DATABASE_URL y ejecute una consulta

Antes de usarlo

  • Necesitas un servidor PostgreSQL al que conectarte (se admiten las versiones 14 y posteriores).
  • Se requiere Go 1.25 o posterior.

En colecciones

Temas

Preguntas frecuentes

¿Qué es pgx?
Driver y conjunto de herramientas íntegramente en Go para PostgreSQL, con funciones específicas como LISTEN/NOTIFY y COPY. pgx es un driver y conjunto de herramientas para PostgreSQL implementado íntegramente en Go. Su interfaz de driver es de bajo nivel y está orientada al rendimiento; además, expone funciones específicas de PostgreSQL, como LISTEN / NOTIFY y COPY. También incluye un adaptador para la interfaz estándar database/sql, pensado para el código que ya depende de ella.
¿pgx es gratuito? ¿Qué licencia tiene?
pgx es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pgx sigue mantenido?
Mantenimiento activo. El último commit de pgx fue el 5 nov 2026.
¿Para qué puedo usar pgx?
Crear servicios en Go que se conecten directamente a PostgreSQL y necesiten sus funciones específicas Cargar grandes conjuntos de datos mediante el protocolo COPY Crear un proxy de PostgreSQL, un pooler de conexiones o un cliente de replicación lógica Usar pgx en una base de código existente que dependa de database/sql
¿Cómo se instala pgx?
Instala el módulo pgx v5 con Go: go get github.com/jackc/pgx/v5 Escribe un programa que se conecte con pgx.Connect usando una variable de entorno DATABASE_URL y ejecute una consulta
¿Dónde consigo pgx?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jackc/pgx

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados