- Home
- Database Schema Comparison Tools
- pgquarrel
pgquarrel
What it is
pgquarrel compares PostgreSQL database schemas and generates commands intended to make a target schema match a source. It connects directly to PostgreSQL servers and reads catalog metadata instead of depending on tools such as pg_dump. The project describes deploying schema changes to testing, staging, or production as its main use. Filters let users select object types and include or exclude schemas by pattern. Generated changes go to stdout by default, with options to write a file, print a summary, or put the changes in one transaction. The tool does not modify table data through INSERT, UPDATE, DELETE, or COPY operations. Its documented object coverage is mixed, with some types fully supported and others only partially covered. The project identifies inheritance and roles as major omissions and notes that it does not support every PostgreSQL object. Generated output may not work as expected if the source PostgreSQL version is newer than the target. pgquarrel is free, BSD-3-Clause licensed software distributed as source through GitHub or a Git clone; the listed latest release is 0.7.0.
For and against
For
- Compares schemas through direct PostgreSQL connections
- Can filter object types and schemas
- Outputs changes to stdout or a file
- Free and BSD-3-Clause licensed
Against
- Inheritance and roles are identified as omissions
- Some PostgreSQL object types have only partial support
- Newer source versions may produce unexpected output
The verdict
pgquarrel provides a focused way to compare PostgreSQL schemas and produce deployment commands. Review its documented object coverage and version caveat before relying on generated changes.
Who it suits
pgquarrel suits teams that need to compare PostgreSQL schemas and prepare schema changes for deployment. It is less suited to work requiring inheritance, roles, or complete object coverage.
Plans and prices
pgquarrel
BSD-3-Clause licensed software
Read 3 Oct 2026 · github.com
On the record
- Data scope
- The tool does not manipulate table data with INSERT, UPDATE, DELETE, or COPY operations.github.com · read 3 Oct 2026
- Deployment use
- The README describes deploying database changes to testing, staging, or production environments as its main use case.github.com · read 3 Oct 2026
- Direct connections
- It connects directly to PostgreSQL servers and reads catalog metadata rather than relying on tools such as pg_dump.github.com · read 3 Oct 2026
- Distribution
- pgquarrel is distributed as source code through GitHub and can also be obtained by cloning its Git repository.github.com · read 3 Oct 2026
- License
- The repository identifies the software as BSD-3-Clause licensed.github.com · read 3 Oct 2026
- Notable omissions
- The README identifies inheritance and roles as main absences and says pgquarrel does not support all PostgreSQL objects.github.com · read 3 Oct 2026
- PostgreSQL object coverage
- The README lists support for many PostgreSQL objects, with support marked partial for numerous types and complete for others.github.com · read 3 Oct 2026
- Purpose
- pgquarrel compares PostgreSQL database schemas (DDL) and outputs the differences as commands to make the target schema match the source.github.com · read 3 Oct 2026
- Release
- The releases page lists version 0.7.0 as the latest release and notes fixes to its Windows, Debian/Ubuntu, and FreeBSD builds.github.com · read 3 Oct 2026
- Selective comparison
- It supports filters and options to compare selected object types and include or exclude schemas by pattern.github.com · read 3 Oct 2026
- 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.github.com · read 3 Oct 2026
- Support channel
- The repository has a public GitHub issues page for bug reports and feature requests.github.com · read 3 Oct 2026
- Version compatibility
- The generated file may not work as expected when the source PostgreSQL version is newer than the target version.github.com · read 3 Oct 2026