Tags: eulerto/pgquarrel
Tags
pgquarrel is a program that compares PostgreSQL database schemas (DDL). Given two connections, it outputs a file that represent the diference between schemas. It means that if you run the output file into the "first connection", it will have the same schema as the "second connection". The main use case is to deploy changes into testing, staging, and production environments. pgquarrel doesn't rely on any tools (like pg_dump) instead it connects directly to PostgreSQL server, obtain metadata from catalog, compare objects and output SQL commands necessary to turn "first database" into "second database". It could work on different PostgreSQL versions. However, if the "second database" version is greater than "first database" version, some SQL commands could not work on a prior version when you try to run the output file. It was tested on Linux and FreeBSD. I didn't try Windows yet. README file has a list of supported features. Not all of the objects are covered but I will try to do my best to supported the most common SQL commands.