Node.js向けのノンブロッキングなPostgreSQLクライアント。純粋なJavaScript製ドライバーと、オプションのネイティブlibpqバインディングを提供します。
jackc/pgx
PostgreSQL向けの純Go製ドライバー兼ツールキット。LISTEN/NOTIFYやCOPYなど、PostgreSQL固有の機能を利用できます。
- スター
- 14,384
- フォーク
- 1,159
- 未解決の Issue
- 218
- 最終コミット
- 一昨日
これは何?
pgxはPostgreSQL向けの純Go製ドライバー兼ツールキットです。低レベルでパフォーマンスを重視したドライバーインターフェースを備え、LISTEN / NOTIFYやCOPYなどのPostgreSQL固有の機能を利用できます。既存コードが依存している場合に備えて、標準のdatabase/sqlインターフェース用アダプターも含まれています。
ツールキットは、ワイヤープロトコルの解析やPostgreSQLとGo間の型マッピングなど、PostgreSQLの機能を実装するパッケージ群です。これらを再利用して、代替ドライバー、プロキシ、ロードバランサー、論理レプリケーションクライアントを構築できます。並行利用向けのコネクションプール(pgxpool)も用意されています。
約70種類のPostgreSQL型、プリペアドステートメントのキャッシュ、バッチクエリ、カスタム型のバイナリ形式エンコーディング、トレースおよびログ用フックをサポートしています。Go 1.25以降、PostgreSQL 14以降を対象としています。
主な機能
- 01約70種類のPostgreSQL型と、Goとの型マッピングをサポート
- 02プリペアドステートメントの自動キャッシュとバッチクエリ
- 03大量データのロードに使えるCOPYプロトコルをサポート
- 04LISTEN / NOTIFYとラージオブジェクトをサポート
- 05接続後フックを備えたコネクションプール
- 06トレースおよびログ用フックとdatabase/sqlアダプター
ユースケース
- PostgreSQL固有の機能を必要とする、PostgreSQLと直接通信するGoサービスの構築
- COPYプロトコルを使った大規模データセットの一括ロード
- PostgreSQLプロキシ、コネクションプーラー、論理レプリケーションクライアントの開発
- database/sqlに依存する既存コードベースでのpgxの利用
クイックスタート
- 1
Goでpgx v5モジュールをインストールします
go get github.com/jackc/pgx/v5 - 2
DATABASE_URL環境変数を使ってpgx.Connectで接続し、クエリを実行するプログラムを作成します
使う前に知っておきたいこと
- 接続先としてPostgreSQLサーバーが必要です(バージョン14以降に対応)。
- Go 1.25以降が必要です。
収録されている特集
トピック
よくある質問
- pgx とは?
- PostgreSQL向けの純Go製ドライバー兼ツールキット。LISTEN/NOTIFYやCOPYなど、PostgreSQL固有の機能を利用できます。 pgxはPostgreSQL向けの純Go製ドライバー兼ツールキットです。低レベルでパフォーマンスを重視したドライバーインターフェースを備え、LISTEN / NOTIFYやCOPYなどのPostgreSQL固有の機能を利用できます。既存コードが依存している場合に備えて、標準のdatabase/sqlインターフェース用アダプターも含まれています。
- pgx は無料で使えますか?ライセンスは?
- pgx は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pgx は今もメンテナンスされていますか?
- 活発にメンテナンス中。pgx の最終コミットは 2026年11月5日 です。
- pgx は何に使えますか?
- PostgreSQL固有の機能を必要とする、PostgreSQLと直接通信するGoサービスの構築 COPYプロトコルを使った大規模データセットの一括ロード PostgreSQLプロキシ、コネクションプーラー、論理レプリケーションクライアントの開発 database/sqlに依存する既存コードベースでのpgxの利用
- pgx のインストール方法は?
- Goでpgx v5モジュールをインストールします: go get github.com/jackc/pgx/v5 DATABASE_URL環境変数を使ってpgx.Connectで接続し、クエリを実行するプログラムを作成します
- pgx はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/jackc/pgx
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
JavaプログラムからPostgreSQLデータベースへの接続やクエリ実行を可能にする、公式スタイルのType 4 JDBCドライバーです。
通常のSQLを使い、コンパイル時にクエリを検証できる非同期の純Rust製SQLツールキット。PostgreSQL、MySQL/MariaDB、SQLiteに対応。
複数のデータベースに対して順序付きのスキーマ変更を適用できる、CLIとライブラリを備えたGo製のマイグレーションツール。
バージョン管理されたSQLファイルやGo関数でデータベースのスキーマ変更を管理するCLI兼Goライブラリ。
JDBCおよびODBCドライバー経由で100種類以上のデータベースに接続できる、無料のマルチプラットフォーム対応デスクトップSQLクライアント兼データベースツール。