apgdiff (also known as Another PostgreSQL Diff Tool) is a free PostgreSQL diff tool useful for comparison/diffing of database schemas.
apgdiff compares two database dump files and creates output with DDL statements that can be used to update old database schema to new one or to see in what both databases differ.
apgdiff is already being used by many developers all over the world.
apgdiff is written in Java so you can run it on any operating system where you can run Java. Here is the list of supported operating systems:
· Mac OS X
· Windows
· Linux
· Solaris
· BSD
Here are some key features of "apgdiff":
Supported Statements:
· ALTER TABLE
· ALTER VIEW
· COMMENT
· CREATE FUNCTION
· CREATE INDEX
· CREATE SCHEMA
· CREATE SEQUENCE
· CREATE TABLE
· CREATE TRIGGER
· CREATE VIEW
· SET search_path
· Other SQL Statements
Requirements:
· Java 1.6 or later
What's New in This Release: [ read full changelog ]
New Features:
· Added support for diffing of COMMENT ON statements.
· Added switch --list-charsets to output list of supported charsets.
· Fixes
· Added user error messages instead of NullPointerException for cases when referenced database object was not found in the dump.
· Fixed bug with parsing quoted object name when both first and second part of the name was quoted.
· Fixed bug in parser that caused in some cases invalid match against expected "word".
· Fixed bug in parser that caused array data types not detected correctly (was caused by fix of invalid match of "word" above).
· Functions are now created after tables are create and updated, because of functions depending on tables and columns. Later will be implemented solution for cases where functions have to be created before table columns.