pgrundev/pgx

エージェント・テスト・CI向けの短期存在型Postgresデータベース用ランタイム

インストール型ツール条件つき · AGPL-3.0バックエンド・DBRust難易度
566+209今週0 保存
31フォーク5Issue

中辛 の解説

短期存在型Postgresデータベースをミリ秒単位で作成し、テンプレートから copy-on-write で複製、使用後に自動削除するランタイムです。エージェント・CI・テスト向けに複数の分離DBを1つプロセスで管理し、各DB は 70~128 KB のメモリ使用量で、6.2ms で作成できます。Postgres wire protocol 互換で、Rails・Django・Prisma・SQLAlchemy が変更なしに動作し、36 / 36 フレームワーク検証で成功しています。インストールは npx pgxdb@latest で1コマンド完結、Docker不要、バイナリは自動ダウンロードされます。v0.1試験版で crash-safe 非対応(fsync=off)、C拡張未対応という制約があります。

こんなリポジトリです

こんなときに便利です

  • AIエージェントの各実行ステップごとに専用データベースを作成・破棄するワークフロー
  • CI/CDパイプラインで本番テンプレートから各ビルド用DB を自動生成・テスト実行
  • プルリクエストごとにTTL付きの隔離テスト環境を自動生成・自動削除管理

主な機能

ミリ秒単位でのデータベース作成(6.2ms ウォームプール)Copy-on-write ストレージによる低メモリフットプリント(1,000DB で 128-155MB)PostgreSQL 完全互換(wire protocol・SQL・transactional DDL)

ほかとの違い

従来のPostgresQLは数年の長期運用を想定し1DB1プロセスですが、PGXは1プロセスで数千のDB を数ミリ秒で作成・削除するライフサイクルに最適化しており、エージェント・テスト・CI向けの高密度・低コスト運用が実現できます。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • npm(npx コマンド使用時)
  • Rust toolchain 1.96.0 以上(ソースビルド時)
  • RE2 正規表現ライブラリ(ソースビルド時)
  • PostgreSQL 18 クライアントツール initdb・psql(ソースビルド時)

すぐに始める

npx を使用(推奨)

  1. npx コマンドでインストール・起動・データベース作成
npx pgxdb@latest

代替: シェルインストーラー

  1. インストーラー実行
curl -fsSL https://pgx.dev/install | sh
  1. ランタイム起動
pgx run

代替: ソースビルド

  1. 依存関係をインストール(Debian/Ubuntu の場合)
sudo apt-get install -y build-essential pkg-config libre2-dev postgresql-18 postgresql-client-18
export PATH="/usr/lib/postgresql/18/bin:$PATH"
  1. ビルド
cargo build --release --locked --bin postgres
  1. データディレクトリを初期化
initdb -D /tmp/pgx-data --no-locale --encoding UTF8 -U postgres
cat configs/pgx-ephemeral.conf >> /tmp/pgx-data/postgresql.conf
  1. 環境変数を設定・ランタイム起動
export PGRUST_PGSHAREDIR=/usr/share/postgresql/18
export PGRUST_TZDIR=/usr/share/zoneinfo
ulimit -s 65520
RUST_MIN_STACK=33554432 target/release/postgres \
  -D /tmp/pgx-data -k /tmp -p 5432 \
  -c listen_addresses= -c io_method=sync -c max_stack_depth=60000 \
  -c pgrust.ephemeral_db_prefix=tdb_ \
  -c pgrust.ephemeral_db_mint_roles=postgres

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try pgrundev/pgx

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

566+209 / 7日

確認日時

使いやすさ · まねしやすいか

サンプル評点 32/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2026 年に作成

「バックエンド・DB」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/pgrundev/pgx.svg)](https://www.gitbap.com/r/pgrundev/pgx)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る