Re: Comparar

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

In response to

Browse pgsql-es-ayuda by date

  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