From: | Miguel <mmiranda(at)123(dot)com(dot)sv> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Comparar |
Date: | 2006-03-14 21:59:07 |
Message-ID: | 44173CAB.2050304@123.com.sv |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro Herrera wrote:
>(infor) urko zurutuza escribió:
>
>
>> Otra opción sería mirar el md5 de cada una de las tablas en tu
>> directorio 'data' al que apunte postmaster. No lo he probado, pero si
>> quieres comrpobar que son exactamente iguales...
>>
>>
>
>Dudo que eso funcione. Quizas un pg_dump de la tabla en cada lado, pero
>habria que normalizarlo primero (e.g. decir que genere sin timestamps,
>pasarlo por sort y luego md5sum)
>
>
>
en la doc de slony se encuentra este ejemplo de script que compara ambas
bases de datos, en teoria hace exactamente eso, hacer un dump y
comparar, aunque no explica como se manejan los timestamps y las
secuencias, pero te podria servir de punto de partida,
#!/bin/sh
echo -n "**** comparing sample1 ... "
psql -U $REPLICATIONUSER -h $MASTERHOST $MASTERDBNAME >dump.tmp.1.$$ <<_EOF_
select 'accounts:'::text, aid, bid, abalance, filler
from accounts order by aid;
select 'branches:'::text, bid, bbalance, filler
from branches order by bid;
select 'tellers:'::text, tid, bid, tbalance, filler
from tellers order by tid;
select 'history:'::text, tid, bid, aid, delta, mtime, filler,
"_Slony-I_${CLUSTERNAME}_rowID"
from history order by "_Slony-I_${CLUSTERNAME}_rowID";
_EOF_
psql -U $REPLICATIONUSER -h $SLAVEHOST $SLAVEDBNAME >dump.tmp.2.$$ <<_EOF_
select 'accounts:'::text, aid, bid, abalance, filler
from accounts order by aid;
select 'branches:'::text, bid, bbalance, filler
from branches order by bid;
select 'tellers:'::text, tid, bid, tbalance, filler
from tellers order by tid;
select 'history:'::text, tid, bid, aid, delta, mtime, filler,
"_Slony-I_${CLUSTERNAME}_rowID"
from history order by "_Slony-I_${CLUSTERNAME}_rowID";
_EOF_
if diff dump.tmp.1.$$ dump.tmp.2.$$ >$CLUSTERNAME.diff ; then
echo "success - databases are equal."
rm dump.tmp.?.$$
rm $CLUSTERNAME.diff
else
echo "FAILED - see $CLUSTERNAME.diff for database differences"
fi
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-03-14 23:43:13 | Re: Trigger |
Previous Message | Alvaro Herrera | 2006-03-14 21:16:33 | Re: Comparar |