Hi!

Thanks...

Sorry, but this is not good solution for me, because of the webserver is
not opened (port) to the net, and I must compare local, a web dbs.

So I try to find a solution, that can create a "map" from structure in
XML, text, etc., and I can get it with ftp and compare it...

First I search for a simple tool that can compare dbs in textual way...

dd

On Wed, 05 Aug 2009 10:49:53 +0200, Guillaume Lelarge
<guilla...@lelarge.info> wrote:

Le mercredi 5 août 2009 à 10:13:44, durumd...@gmail.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:

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

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

guilla...@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:

guilla...@laptop:~$ psql -c "CREATE TABLE t2(id integer, c text);" db2
CREATE TABLE
guilla...@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.




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to