Skip to content
SPECIFICTION
Get listed

pgquarrel

github.com

Free plan WindowsLinuxSelf-hosted

What it is

pgquarrel compares PostgreSQL database schemas and produces SQL commands to bring a target schema in line with a source. It connects to PostgreSQL servers and reads catalog metadata directly, rather than depending on tools such as pg_dump. The project describes deploying schema changes to testing, staging, or production as its main use. Filters can narrow comparisons to selected object types or include and exclude schemas by pattern. Output goes to stdout by default, with options to save it to a file, print a summary, or place changes in one transaction. pgquarrel does not manipulate table data with INSERT, UPDATE, DELETE, or COPY. Its documented object coverage includes both complete and partial support; inheritance and roles are noted absences, and not all PostgreSQL objects are supported. Output may not work as expected when the source PostgreSQL version is newer than the target. The software is free under the BSD-3-Clause license, distributed as source through GitHub or a Git clone, and the listed latest release is 0.7.0.

Spec sheet

Purpose
pgquarrel compares PostgreSQL database schemas (DDL) and outputs the differences as commands to make the target schema match the source.Read 3 Oct 2026 · github.com
Platforms
The README says it was tested on Linux, FreeBSD, and Windows, and provides installation instructions for UNIX based operating systems and Windows.Read 3 Oct 2026 · github.com
License
The repository identifies the software as BSD-3-Clause licensed.Read 3 Oct 2026 · github.com
Data scope
The tool does not manipulate table data with INSERT, UPDATE, DELETE, or COPY operations.Read 3 Oct 2026 · github.com
Deployment use
The README describes deploying database changes to testing, staging, or production environments as its main use case.Read 3 Oct 2026 · github.com
Direct connections
It connects directly to PostgreSQL servers and reads catalog metadata rather than relying on tools such as pg_dump.Read 3 Oct 2026 · github.com
Distribution
pgquarrel is distributed as source code through GitHub and can also be obtained by cloning its Git repository.Read 3 Oct 2026 · github.com
Notable omissions
The README identifies inheritance and roles as main absences and says pgquarrel does not support all PostgreSQL objects.Read 3 Oct 2026 · github.com
PostgreSQL object coverage
The README lists support for many PostgreSQL objects, with support marked partial for numerous types and complete for others.Read 3 Oct 2026 · github.com
Release
The releases page lists version 0.7.0 as the latest release and notes fixes to its Windows, Debian/Ubuntu, and FreeBSD builds.Read 3 Oct 2026 · github.com
Selective comparison
It supports filters and options to compare selected object types and include or exclude schemas by pattern.Read 3 Oct 2026 · github.com
SQL output
Changes are output to stdout by default, with options to write to a file, print a summary, or output changes as a single transaction.Read 3 Oct 2026 · github.com
Support channel
The repository has a public GitHub issues page for bug reports and feature requests.Read 3 Oct 2026 · github.com
Version compatibility
The generated file may not work as expected when the source PostgreSQL version is newer than the target version.Read 3 Oct 2026 · github.com

Plans and prices

pgquarrel Free BSD-3-Clause licensed software Read 3 Oct 2026 · github.com

Every pgquarrel plan and price →

Strong points and limits

Strong points

  • Connects directly to PostgreSQL servers.
  • Filters comparisons by object type and schema pattern.
  • Can output changes as a single transaction.
  • Free under the BSD-3-Clause license.

Limits

  • Does not cover all PostgreSQL objects.
  • Inheritance and roles are not supported.
  • Newer source versions may produce unexpected output.

Who it suits

pgquarrel suits teams deploying PostgreSQL schema changes across testing, staging, or production environments. It is for schema work rather than table-data changes.

Verdict

pgquarrel provides a focused way to compare PostgreSQL schemas and generate deployment commands. Check its documented object coverage and source-to-target version caveat before relying on generated changes.

Where Specifiction places it

Alternatives to pgquarrelAll alternatives →