[Pgsql-ayuda] Actualizacion de base de datos

Alvaro Herrera alvherre@dcc.uchile.cl
Thu, 22 May 2003 19:27:41 -0400


On Thu, May 15, 2003 at 06:40:52PM -0500, Carlos wrote:

Carlos,

> Si alguien me pudiera dar una idea!!!.
> Tengo una base de datos en postgres, y todos los dias se actualizan
> algunos registros. Quisiera saber como hacer para saber que registros
> han sido modificados o que registros han sido creados, para asi poder
> hacer alguna aplicacion para insertar , o hacer update de los
> registros de la misma base de datos pero que esta en otro servidor. Lo
> que hacia era hacer un dump de toda la base de datos,,y lo llevaba al
> otro servidor  y eso demora demasiado,, viendo que mi base de datos
> crece exponencialmente em demora mucho tiemp hacerlo.

Considera usar alguno de los proyectos de replicacion, contrib/rserv o
contrib/dbmirror.  Sospecho que la solución a tu problema va por ese
lado.

Si _realmente_ quieres hacer lo que dices, entonces tendrías que usar un
"trigger" que registrara los cambios en otra tabla, y que la "otra
aplicación" mire los registros en esa tabla.  De hecho, así es como
funciona rserv bajo el capot; no sé si DBmirror también.


En todo caso si la BD crece exponencialmente (cosa que en realidad es
dudosa), yo que tu buscaría otra manera de modelar tus datos.  Si no
entiendes por qué, busca la leyenda de la invención del ajedrez y los
granos de trigo que pidió el creador en recompensa; es una historia
bastante esclarecedora.  Aunque la verdad sospecho que estás exagerando
y tu BD crece linealmente, o a lo más, polinomialmente.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Uno puede defenderse de los ataques; contra los elogios se esta indefenso"