🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
pgrundev/pgx

임시 Postgres 데이터베이스를 밀리초 단위로 생성·관리하는 런타임

완성 앱조건 있음 · AGPL-3.0백엔드·DBRust난이도
566+209이번 주0 찜
31포크5이슈

중간맛 분석

PGX는 에이전트, /, 테스트, preview 환경에서 단기 임시 Postgres 데이터베이스를 한 런타임에서 대량으로 생성·관리한다. 각 데이터베이스는 sealed (밀폐된 템플릿)에서 copy-on-write(변경 시점에만 복사)로 생성되어 6ms 정도 소요되며, 메모리(약 70KB)·연결·세션별로 격리된 제한을 가진다. PostgreSQL 회귀 테스트 219/231 byte-exact 통과하고 Rails/Django/Prisma 등 주요 ORM을 완전히 지원한다. 설치는 한 줄이며 자동으로 데이터베이스를 생성하고 connection URL을 출력하고, 로 database 복제·TTL 설정·상태 조회가 가능하다. v0.1.0 early 이므로 production 데이터에는 부적합하며(fsync off, crash-safe 아님), 일회성 임시 데이터베이스 전용이다.

이런 레포예요

이럴 때 쓰면 좋아요

  • AI 에이전트가 각 작업마다 새 데이터베이스를 생성하여 마이그레이션, 스키마 변경, 테스트를 실행하고 작업 후 자동으로 폐기
  • Pull Request 검토 시 프로덕션 데이터베이스의 격리된 복사본을 1초 미만에 생성하여 CI 테스트를 독립적으로 실행
  • 개발자가 로컬 머신에서 여러 테스트 케이스를 위한 수백 개의 격리된 데이터베이스를 메모리 효율적으로 동시 운영

핵심 기능

6ms 온풀 데이터베이스 생성 (copy-on-write 클론)1000개 데이터베이스를 128-155MB 메모리로 운영PostgreSQL 호환 (회귀 테스트 219/231 byte-exact, Rails/Django/Prisma 지원)

대안 대비 차별점

한 PGX 프로세스가 전통적 PostgreSQL 대신 수천 개의 격리된 임시 데이터베이스를 밀리초 단위로 생성·삭제할 수 있으며, 각각이 70KB 메모리만 사용한다는 점에서 일회성 데이터베이스 워크로드에 최적화되어 있다.

먹어본 사람들

실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.

시식평 · 먹어본 사람 한마디

아직 시식평이 없어요. 먹어보셨다면 첫 한마디를 남겨주세요.

다른 레포 시식평 구경하기 →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

이 레포, 해먹는 법

처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.

바로 차려먹기Rust (cargo)

깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.

git clone --depth 1 https://github.com/pgrundev/pgx.git &&
cd pgx &&
cargo run

코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.

README가 안내하는 자세한 단계 보기

npm으로 설치 (권장)

  1. npm으로 설치하고 PGX 런타임을 시작합니다.
npx pgxdb@latest
  1. 필요하면 CLI 명령어로 데이터베이스를 관리합니다.
npx pgxdb url app
npx pgxdb ls
npx pgxdb clone app branch1 --ttl 1h

대안: shell로 설치

  1. shell 설치 스크립트를 실행합니다.
curl -fsSL https://pgx.dev/install | sh
  1. PGX 런타임을 시작합니다.
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"

macOS의 경우:

brew install re2 pkg-config postgresql@18
export PATH="$(brew --prefix postgresql@18)/bin:$PATH"
  1. Rust 소스에서 PGX를 빌드합니다.
cargo build --release --locked --bin postgres
  1. PostgreSQL 클러스터를 초기화하고 PGX 설정을 적용합니다.
initdb -D /tmp/pgx-data --no-locale --encoding UTF8 -U postgres
cat configs/pgx-ephemeral.conf >> /tmp/pgx-data/postgresql.conf
  1. 런타임 데이터 디렉토리를 지정하는 환경 변수를 설정합니다. Linux:
export PGRUST_PGSHAREDIR=/usr/share/postgresql/18
export PGRUST_TZDIR=/usr/share/zoneinfo

macOS:

export PGRUST_PGSHAREDIR="$(brew --prefix postgresql@18)/share/postgresql"
export PGRUST_TZDIR="$PGRUST_PGSHAREDIR/timezone"
  1. PGX 런타임을 시작합니다.
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
  1. 데이터베이스 템플릿을 생성하고 격리된 데이터베이스를 생성합니다.
psql -h /tmp -U postgres -c "CREATE DATABASE tpl_app"
psql -h /tmp -U postgres -d tpl_app -c "CREATE TABLE users (id bigserial PRIMARY KEY, email text UNIQUE)"
psql -h /tmp -U postgres -c "SELECT pgrust_seal_template('tpl_app')"
psql -h /tmp -U postgres -d tdb_tpl_app__agent42 -c "INSERT INTO users (email) VALUES ('a@example.com')"

깃밥트라이로 맛보기

받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.

터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 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)
🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법

깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.

방법 ① 커넥터 URL

클로드 설정 → 커넥터에 이 주소를 붙여넣기.

https://www.gitbap.com/api/mcp
방법 ② 플러그인 (체험까지)

플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기