PostgresCompare Logo


Keep up with the latest news.

  • The PostgresCompare command line

    The PostgresCompare command line is coming soon
  • The new create script window

    The next release of Postgres Compare includes a new "Create Script" experience which allows you to work with and make alterations to an update script in real time. Previously this was a small modal. Now it is a seperate, resizable window to make it easier to work with and include some extra information.
  • Getting started with Postgres Compare

    Follow these steps to get up and running quickly with PostgresCompare.
  • The path to beta

    Its been a little over a month since the alpha of PostgresCompare started and, thankfully, I've received a lot of feedback as to how I can improve the application. To help clear up how I'm going to get from alpha to beta and beyond I'm detailing here the work I am going to tackle before taking that next step.
  • Sneak Preview

    Here’s a gif of me comparing a couple of databases and viewing the differences.

  • Documenting relationships in the pg_catalog schema

    While exploring the pg_catalog schema I noticed that while the relationships between the tables are documented, they are not enforced by actual database constraints. Tom Lane provided an excellent answer as to why this is the case:

  • Building the prototype

    User interface design is hard. There is something about the frontend that doesn’t come naturally to me. At the same time I’ve witnessed first hand the impact a beautiful and intuitive UI can have on a user. A beautiful UI is easy on the eyes, users want to interact with it and they are more forgiving when something doesn’t quite work.

  • CREATE DATABASE and the pg_database catalog

    The CREATE DATABASE statement is used to create a new PostgreSQL database. It does so by cloning an existing database, a template. PostgreSQL comes with two template databases, template0 and template1. The difference between template0 and template1 is their intended use. template1 is the default template when creating a new database, it can also be connected to and any custom objects that new databases should have can be created there. template0 does not accept connections and is therefore a clean source for those times when template1 has become messy for some reason.

  • The guiding principles behind Postgres Compare

    I believe that while listening to customer feedback and giving the people what they want can be of great benefit to the short term development of an application, it is also important to lay out some key principles that really define the essence of the product. Key principles help in many ways. From a users point of view the application has an identity and a unique look and feel. Internally the principles can be used as a guide for decision making.

  • Using the system catalogs to get column information

    A question came up on the pgsql-general mailing list regarding how to obtain column information from a PostgreSQL database. Finding the definition of database objects is something I spend a lot of time doing when working on the comparison and scripting engines for Postgres Compare.

  • A summary of database version control options

    There was a question recently on pgsql-general about Stored procedure version control. The question was: