testing.postgresql
automatically setups a postgresql instance in a temporary directory, and destroys it after testing
Decision gist · record as of 2026-08-14
No. The package is abandoned (latest release 2016-02-04) and targets Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5—all end-of-life versions. Modern Python and PostgreSQL compatibility are untested. For new projects, consider actively maintained alternatives.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- PostgreSQL server binaries (initdb, postgres) must be present in your PATH; the package does not bundle them.
- Low install friction with a pure-Python wheel distribution.
- However, the package is abandoned as of 2016 with no updates since its latest release, and its last commit was in 2023.
License · maintenance · safety
Apache License 2.0 (permissive) — Licensed under Apache License 2.0, a permissive license that allows commercial and private use with minimal restrictions. No licensing barrier to adoption.
last release 2016-02-04 (3844 days) · last repo commit 2023-08-04 · 293 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,479,309 downloads/mo, #2,293 on PyPI
Alternatives
Verify before relying
import testing.postgresql
with testing.postgresql.Postgresql() as postgresql:
# connect using postgresql.url() or postgresql.dsn()
# run tests- Compatibility with Python versions beyond 3.5 is not documented.
- Whether the package works with modern PostgreSQL versions is unclear.
- Current state of the testing.common.database dependency introduced in 1.3.0.
- Whether pg8000 1.10 dependency remains compatible with current environments.
What it is and what it does
testing.postgresql is a test fixture library that spawns isolated PostgreSQL instances in temporary directories for the duration of a test run, then cleans them up automatically. It wraps the PostgreSQL command-line tools (initdb and postgres) to create fresh databases on demand, eliminating the need to manage shared test databases or mock database connections.
The package provides two main patterns: direct instantiation via Postgresql() for simple per-test isolation, or PostgresqlFactory with caching to reuse an initialized database schema across multiple tests, reducing setup overhead. It integrates with standard unittest patterns and supports passing connection details to database drivers via url() or dsn() methods.
Use it for
- Unit tests that need real PostgreSQL behavior without a shared test database.
- Integration tests that require schema fixtures and data isolation between test cases.
- CI/CD pipelines where PostgreSQL must be provisioned and torn down per test run.
- Development workflows testing database migrations or schema changes in isolation.
- Parameterized tests that each need a fresh database state without manual setup code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The package is abandoned (latest release 2016-02-04) and targets Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5—all end-of-life versions. Modern Python and PostgreSQL compatibility are untested. For new projects, consider actively maintained alternatives.
Install
testing-postgresql on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. However, the package is abandoned as of 2016 with no updates since its latest release, and its last commit was in 2023. The codebase targets Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, all of which are end-of-life; compatibility with modern Python versions is unverified.
PostgreSQL server binaries (initdb, postgres) must be present in your PATH; the package does not bundle them.
License in practice
Licensed under Apache License 2.0, a permissive license that allows commercial and private use with minimal restrictions. No licensing barrier to adoption.
Quickstart
import testing.postgresql
with testing.postgresql.Postgresql() as postgresql:
# connect using postgresql.url() or postgresql.dsn()
# run tests
Verify before relying
- Compatibility with Python versions beyond 3.5 is not documented.
- Whether the package works with modern PostgreSQL versions is unclear.
- Current state of the testing.common.database dependency introduced in 1.3.0.
- Whether pg8000 1.10 dependency remains compatible with current environments.
Package facts
| License | Apache License 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,844 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,479,309 / month, #2,293 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: DatabaseTopic :: Software DevelopmentTopic :: Software Development :: Testing |
Evidence: testing.postgresql-1.3.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “automated postgres setup”
- testing.postgresqlAutomatically creates and tears down temporary PostgreSQL instances…
- pg0-embeddedEmbeds a PostgreSQL database directly in Python with zero…
- testgrestestgres orchestrates temporary PostgreSQL clusters for Python tests,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pytest-pgsql · testgres · testing.common.database · PyPgConfig · py-pglite · testcontainers-postgres · pytest-postgresql · psycopg2-pool · pytest-databases · pgcopy