Re: Comparing two PostgreSQL databases -- order of pg_dump output

From: Joe Abbate <jma(at)freedomcircle(dot)com>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Comparing two PostgreSQL databases -- order of pg_dump output
Date: 2011-08-30 20:14:50
Message-ID: 4E5D44BA.9090802@freedomcircle.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hola Jaime,

On 08/30/2011 03:24 PM, Jaime Casanova wrote:
> what about using pg_dump -Fc -Osx and use pg_restore -l to list
> objects. then you can sort and compare objects and then a script that
> compare schema of objects extracting them with -P, -T or -t

That appears to be of limited use (i.e., it would only work for
functions, triggers and tables). pg_restore -L/--use_list is more
comprehensive. So the script would have to do something like the following:

$ pg_dump -Fc -Osx postgis > postgis.dump
$ pg_restore -l postgis.dump | sort -k4 > postgis.list
$ pg_restore -L postgis.list postgis.dump > postgis.sorted

Rinse and repeat on the second database and then diff the .sorted files.
Tried it and although it doesn't completely do the trick it's much
better than diffing the plain text pg_dump outputs (3000+ diff lines vs.
less than 200 and about half of that are actual differences).

Thanks,

Joe

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-08-30 20:23:48 Re: spinlocks on HP-UX
Previous Message Tom Lane 2011-08-30 20:05:52 Re: spinlocks on HP-UX