pkg.soopen package index

brew / rank 5077

Install ephemeralpg with Homebrew, Nix

Run tests on an isolated, temporary Postgres database. Version 3.4 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#ephemeralpg.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ephemeralpg

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#ephemeralpg

nixpkgs package indexes · pkgs/by-name/ep/ephemeralpg/package.nix · source: api.github.com

overview

Package summary

Run tests on an isolated, temporary Postgres database

Commands and aliases

  • getsocket
  • pg_tmp

history

Project history and usage

Ephemeral PostgreSQL is a compact test utility centered on `pg_tmp`, a shell script that starts isolated temporary PostgreSQL databases. It gives test suites a real PostgreSQL server without making developers keep a long-lived database around or substitute SQLite for PostgreSQL behavior.

Project history

The NEWS file records version 1.0 on January 7, 2015 as an initial Bitbucket release and describes it as a cross-platform implementation in fewer than one hundred lines of code. Later releases added TCP binding through the bundled `getsocket` utility, better cleanup behavior, PostgreSQL-version compatibility fixes, extra server options, and a test framework.

The project moved hosting from Bitbucket to GitHub in version 2.8 on September 25, 2019. Its public project page was still maintained in 2025 and documents `pg_tmp` as a compact shell script for unit and integration testing with PostgreSQL in any language.

Adoption history

ephemeralpg is not a mass-market database package, but it has a clear testing niche: teams that need PostgreSQL-specific behavior in tests without shared state. Homebrew and Nix packaging make the tool easy to install in developer workstations and CI images.

How it is used

A common workflow is `uri=$(pg_tmp)` followed by running `psql` or an application test suite against that connection URI. The tool can start a database on a random TCP port, keep it alive for a specified window, pass server options such as disabling autovacuum, and garbage-collect temporary databases automatically.

The project page explains several performance techniques: avoiding fully sequential init/start/stop work, disabling runtime fsync, spinning for the first connection, pre-initializing a background database under `/tmp`, and shutting down asynchronously.

Why package nerds care

ephemeralpg is interesting because it solves a common developer-tools problem with shell and standard PostgreSQL tools instead of a service daemon. It is small, inspectable, and very package-manager-friendly: install it, call `pg_tmp`, and get a disposable database URI.

Timeline

  • 2015-01-07: Version 1.0 initially released on Bitbucket.
  • 2015-12-12: Version 1.7 added a more extensive `make test` framework.
  • 2016-03-29: Version 2.0 allowed temporary directories with initdb/start/stop arguments.
  • 2019-09-25: Version 2.8 moved hosting from Bitbucket to GitHub.
  • 2025-02-06: Version 3.4 adjusted startup behavior and Mac OS locale handling.

Related projects

  • ephemeralpg depends on the standard PostgreSQL toolchain, especially `initdb`, `pg_ctl`, `postgres`, and `psql`, and includes helper utilities such as `getsocket` plus optional contrib scripts.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:database

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
getsocketexecutableindexed executableDiscovered from the local executable index.
pg_tmpexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version3.4
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:ephemeralpg
Version3.4
Package managerHomebrew
Homepagehttps://eradman.com/ephemeralpg/
Bottlenot recorded
Servicenone declared

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

ephemeralpg

nix profile install nixpkgs#ephemeralpg
  • normalized package name match
  • Matched by: Ephemeralpg
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ep/ephemeralpg/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation