Неблокирующий клиент PostgreSQL для Node.js: драйвер на чистом JavaScript с поддержкой нативных привязок libpq.
jackc/pgx
Чистый Go-драйвер и набор инструментов для PostgreSQL с поддержкой специфичных возможностей, включая LISTEN/NOTIFY и COPY.
- Звёзды
- 14,384
- Форки
- 1,159
- Открытые issues
- 218
- Последний коммит
- позавчера
Что это?
pgx — чистый Go-драйвер и набор инструментов для PostgreSQL. Его низкоуровневый интерфейс драйвера рассчитан на высокую производительность и поддерживает специфичные возможности PostgreSQL, такие как LISTEN / NOTIFY и COPY. В комплект также входит адаптер для стандартного интерфейса database/sql — для кода, который уже от него зависит.
Набор инструментов включает пакеты для работы с возможностями PostgreSQL, например для разбора wire-протокола и сопоставления типов PostgreSQL и Go. Их можно повторно использовать при создании альтернативных драйверов, прокси, балансировщиков нагрузки или клиентов логической репликации. Для параллельной работы предусмотрен пул соединений pgxpool.
Проект поддерживает около 70 типов PostgreSQL, кэширование подготовленных выражений, пакетные запросы, кодирование пользовательских типов в бинарном формате, а также хуки для трассировки и логирования. Требуются Go 1.25 или новее и PostgreSQL 14 или новее.
Ключевые возможности
- 01Поддержка около 70 типов PostgreSQL и их сопоставление с типами Go
- 02Автоматическое кэширование подготовленных выражений и пакетные запросы
- 03Поддержка протокола COPY для массовой загрузки данных
- 04Поддержка LISTEN / NOTIFY и больших объектов
- 05Пул соединений с хуком after-connect
- 06Хуки для трассировки и логирования, а также адаптер database/sql
Сценарии использования
- Создание Go-сервисов для прямой работы с PostgreSQL и использования его специфичных возможностей
- Массовая загрузка больших наборов данных с помощью протокола COPY
- Разработка прокси для PostgreSQL, пула соединений или клиента логической репликации
- Использование pgx в существующем коде, который полагается на database/sql
Быстрый старт
- 1
Установите модуль pgx v5 с помощью Go
go get github.com/jackc/pgx/v5 - 2
Напишите программу, которая подключается с помощью pgx.Connect, используя переменную окружения DATABASE_URL, и выполняет запрос
Что важно знать
- Для подключения требуется сервер PostgreSQL (поддерживаются версии 14 и выше).
- Требуется Go 1.25 или более поздней версии.
В подборках
Темы
Частые вопросы
- Что такое pgx?
- Чистый Go-драйвер и набор инструментов для PostgreSQL с поддержкой специфичных возможностей, включая LISTEN/NOTIFY и COPY. pgx — чистый Go-драйвер и набор инструментов для PostgreSQL. Его низкоуровневый интерфейс драйвера рассчитан на высокую производительность и поддерживает специфичные возможности PostgreSQL, такие как LISTEN / NOTIFY и COPY. В комплект также входит адаптер для стандартного интерфейса database/sql — для кода, который уже от него зависит.
- pgx можно использовать бесплатно? Какая у него лицензия?
- pgx распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pgx всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pgx — 5 нояб. 2026 г..
- Для чего можно использовать pgx?
- Создание Go-сервисов для прямой работы с PostgreSQL и использования его специфичных возможностей Массовая загрузка больших наборов данных с помощью протокола COPY Разработка прокси для PostgreSQL, пула соединений или клиента логической репликации Использование pgx в существующем коде, который полагается на database/sql
- Как установить pgx?
- Установите модуль pgx v5 с помощью Go: go get github.com/jackc/pgx/v5 Напишите программу, которая подключается с помощью pgx.Connect, используя переменную окружения DATABASE_URL, и выполняет запрос
- Где скачать pgx?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jackc/pgx
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Официальный JDBC-драйвер Type 4 для подключения Java-приложений к базам данных PostgreSQL и выполнения запросов.
Асинхронный SQL-инструментарий на чистом Rust с запросами на обычном SQL, проверяемыми во время компиляции; поддерживает PostgreSQL, MySQL/MariaDB и SQLite.
Инструмент миграции баз данных на Go с CLI и библиотекой для применения упорядоченных изменений схемы в разных СУБД.
CLI и библиотека Go для управления изменениями схемы БД с помощью версионируемых SQL-файлов или Go-функций.
Бесплатный кроссплатформенный SQL-клиент для настольных ПК и инструмент для работы с базами данных: поддерживает более 100 баз через драйверы JDBC и ODBC.