Re: A compare and/or sync. database structure?

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: pgsql-general(at)postgresql(dot)org
Cc: "durumdara(at)gmail(dot)com" <durumdara(at)gmail(dot)com>
Subject: Re: A compare and/or sync. database structure?
Date: 2009-08-05 08:49:53
Message-ID: 200908051049.53982.guillaume@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Le mercredi 5 août 2009 à 10:13:44, durumdara(at)gmail(dot)com a écrit :
> [...]
> So please help me with your experience: what is the best solution, what is
> the possible problem that make mistakes with this plan, and how to realize
> it easily?
>

You can try check_postgres.pl Perl script. The same_schema action seems to be
what you need.

Here is a little example:

guillaume(at)laptop:~$ createdb db1
guillaume(at)laptop:~$ psql -c "CREATE TABLE t1(id integer);" db1
CREATE TABLE
guillaume(at)laptop:~$ psql -c "CREATE TABLE t2(id integer, c text);" db1
CREATE TABLE
guillaume(at)laptop:~$ createdb db2
guillaume(at)laptop:~$ psql -c "CREATE TABLE t1(id integer);" db2
CREATE TABLE

So, db1 with two tables and db2 with one only.

guillaume(at)laptop:~$ LANG=C check_postgres.pl --action same_schema --dbname db1
--dbname2 db2
POSTGRES_SAME_SCHEMA CRITICAL: DB "db1 => db2" Databases were different. Items
not matched: 1 | time=0.01 Table in 1 but not 2: public.t2

It works. Now I add the missing table:

guillaume(at)laptop:~$ psql -c "CREATE TABLE t2(id integer, c text);" db2
CREATE TABLE
guillaume(at)laptop:~$ LANG=C check_postgres.pl --action same_schema --dbname db1
--dbname2 db2
POSTGRES_SAME_SCHEMA OK: DB "db1 => db2" Both databases have identical items |
time=0.01

Works too. Works great actually :)

It works also with the other objects of the database.

Regards.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bill Moran 2009-08-05 12:02:13 Re: Does derby have an embedded Mode like Derby ?
Previous Message durumdara@gmail.com 2009-08-05 08:13:44 A compare and/or sync. database structure?