Re: Log Tablas

Lists: pgsql-es-ayuda
From: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Log Tablas
Date: 2011-05-24 13:58:33
Message-ID: BANLkTint=JAn4SoNA1n29MPhHCgRbH7mtw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola buen dia.
Tengo una aplicacion que esta en crecimiento ( a nivel de tablas en la bd) a
un ritmo alto. Dicha aplicacion se encuentra en produccion pero
constantemente piden desarrollos nuevos.
Una de mis necesidades es la de poder almacenar las diferentes transacciones
que hacen los usuarios en el sistema (Insert, update, delete), esto ya lo
tengo implementado. Sin embargo requiero saber el valor de un campo antes y
despues de un update. teniendo en cuenta que esto debe aplicar para
cualquiera de las tablas que actualmente tengo y las nuevas que se creen.
Esta informacion debe ser almacenada para efectos de auditorias posteriores.

Existe alguna herramienta o procedimiento para hacer esto?
Por su colaboracion y atencion mil gracias.

--
------------------------------------------------------------------

Cordialmente,

*Carlos Edward Grajales*
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net
Cel. 313 765 0594
Tel: (2) 489 79 40


From: Álvaro Hernández Tortosa <aht(at)Nosys(dot)es>
To: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-24 14:17:53
Message-ID: 20110524141753.GY1033@nosys.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Tue, May 24, 2011 at 08:58:33AM -0500, Carlos Edward Grajales Marmolejo escribió:

>tengo implementado. Sin embargo requiero saber el valor de un campo antes y
>despues de un update. teniendo en cuenta que esto debe aplicar para
>cualquiera de las tablas que actualmente tengo y las nuevas que se creen.
>Esta informacion debe ser almacenada para efectos de auditorias posteriores.
>
>Existe alguna herramienta o procedimiento para hacer esto?

Hola, Carlos.

Puedes implementar un trigger AFTER UPDATE, genérico, que cree
un registro de dichos valores, a los que puedes acceder como OLD.columna
y NEW.columna. Luego, puedes crear un trigger en todas las tablas que
llame a esta función de trigger genérica. Es relativamente sencillo :)

Saludos,

Álvaro

--

Álvaro Hernández Tortosa

-----------
NOSYS
Networked Open SYStems


From: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
To: Álvaro Hernández <aht(at)nosys(dot)es>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-24 14:59:17
Message-ID: BANLkTinRFjsajsZ+ksaw4vZy_nCV=_Zw5g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Gracias...
habia pensado en eso, lo que no quiero es llenarme de triggers, tengo al
redededor de 1200 tablas y en crecimiento. Estoy haciendo replicacion con
Slony y ya saben que Slony agrega triggers a cada tabla. Esta solucion
implicaria agregar mas triggers a cada tabla. Estoy viendo la posibilidad
de una solucion diferente.

El 24 de mayo de 2011 09:17, Álvaro Hernández <aht(at)nosys(dot)es> escribió:

> Tue, May 24, 2011 at 08:58:33AM -0500, Carlos Edward Grajales Marmolejo
> escribió:
>
> >tengo implementado. Sin embargo requiero saber el valor de un campo antes
> y
> >despues de un update. teniendo en cuenta que esto debe aplicar para
> >cualquiera de las tablas que actualmente tengo y las nuevas que se creen.
> >Esta informacion debe ser almacenada para efectos de auditorias
> posteriores.
> >
> >Existe alguna herramienta o procedimiento para hacer esto?
>
> Hola, Carlos.
>
> Puedes implementar un trigger AFTER UPDATE, genérico, que cree
> un registro de dichos valores, a los que puedes acceder como OLD.columna
> y NEW.columna. Luego, puedes crear un trigger en todas las tablas que
> llame a esta función de trigger genérica. Es relativamente sencillo :)
>
> Saludos,
>
> Álvaro
>
> --
>
> Álvaro Hernández Tortosa
>
>
> -----------
> NOSYS
> Networked Open SYStems
>

--
------------------------------------------------------------------

Cordialmente,

*Carlos Edward Grajales*
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net
Cel. 313 765 0594
Tel: (2) 489 79 40


From: Álvaro Hernández Tortosa <aht(at)Nosys(dot)es>
To: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-24 15:08:51
Message-ID: 20110524150851.GC1033@nosys.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Tue, May 24, 2011 at 09:59:17AM -0500, Carlos Edward Grajales Marmolejo escribió:

>Gracias...
>habia pensado en eso, lo que no quiero es llenarme de triggers, tengo al
>redededor de 1200 tablas y en crecimiento. Estoy haciendo replicacion con
>Slony y ya saben que Slony agrega triggers a cada tabla. Esta solucion
>implicaria agregar mas triggers a cada tabla. Estoy viendo la posibilidad
>de una solucion diferente.

¿Y qué tiene de malo "llenarse" de triggers? Más me preocuparía
a mí "llenarse" con tantas tablas... ;) Al menos, ¡espero que estén en
SCHEMAs diferentes!

Saludos,

Álvaro
--

Álvaro Hernández Tortosa

-----------
NOSYS
Networked Open SYStems


From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Log Tablas
Date: 2011-05-24 15:14:08
Message-ID: 294D3D02D5E18D42827B2ECFEADEB6880BE1F2DC85@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Lo que puedes hacer son triggers sobre las tablas antes de insertar, modificar y eliminar, y crear unas tablas para almacenar los resultados que obtienes con el disparador, entonces con OLD.nombre_del_campo obtienes el valor antes de modificarse y con NEW.nombre_del_campo obtienes el nuevo valor que deseas insertar.

Para mas información puedes consultar la siguiente documentación.

http://www.postgresql.org.es/node/301

Saludos.
________________________________________
De: pgsql-es-ayuda-owner(at)postgresql(dot)org [pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Carlos Edward Grajales Marmolejo [cgrajales(at)colombiasoftware(dot)net]
Enviado el: martes, 24 de mayo de 2011 9:28
Para: pgsql-es-ayuda
Asunto: [pgsql-es-ayuda] Log Tablas

Hola buen dia.
Tengo una aplicacion que esta en crecimiento ( a nivel de tablas en la bd) a un ritmo alto. Dicha aplicacion se encuentra en produccion pero constantemente piden desarrollos nuevos.
Una de mis necesidades es la de poder almacenar las diferentes transacciones que hacen los usuarios en el sistema (Insert, update, delete), esto ya lo tengo implementado. Sin embargo requiero saber el valor de un campo antes y despues de un update. teniendo en cuenta que esto debe aplicar para cualquiera de las tablas que actualmente tengo y las nuevas que se creen.
Esta informacion debe ser almacenada para efectos de auditorias posteriores.
Existe alguna herramienta o procedimiento para hacer esto?
Por su colaboracion y atencion mil gracias.

--
------------------------------------------------------------------

Cordialmente,

Carlos Edward Grajales
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net<http://www.colombiasoftware.net/>
Cel. 313 765 0594
Tel: (2) 489 79 40


From: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
To: Álvaro Hernández <aht(at)nosys(dot)es>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-24 15:15:38
Message-ID: BANLkTikkRUR6Xc8DVxyD=tGoTEhzUfikpg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Si, estan en esquemas diferentes!!!
Estaba pensando mas en una solucion a nivel de programacion en el software
que me controla la aplicacion, aprovechando que todas las transacciones
pasan por una sola clase. Sin embargo, si no encuentro otra manera, tomare
esa opcion.
Gracias!

El 24 de mayo de 2011 10:08, Álvaro Hernández <aht(at)nosys(dot)es> escribió:

> Tue, May 24, 2011 at 09:59:17AM -0500, Carlos Edward Grajales Marmolejo
> escribió:
>
> >Gracias...
> >habia pensado en eso, lo que no quiero es llenarme de triggers, tengo al
> >redededor de 1200 tablas y en crecimiento. Estoy haciendo replicacion con
> >Slony y ya saben que Slony agrega triggers a cada tabla. Esta solucion
> >implicaria agregar mas triggers a cada tabla. Estoy viendo la posibilidad
> >de una solucion diferente.
>
> ¿Y qué tiene de malo "llenarse" de triggers? Más me preocuparía
> a mí "llenarse" con tantas tablas... ;) Al menos, ¡espero que estén en
> SCHEMAs diferentes!
>
> Saludos,
>
> Álvaro
> --
>
> Álvaro Hernández Tortosa
>
>
> -----------
> NOSYS
> Networked Open SYStems
>

--
------------------------------------------------------------------

Cordialmente,

*Carlos Edward Grajales*
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net
Cel. 313 765 0594
Tel: (2) 489 79 40


From: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
To: Mario Soto Cordones <masc68(at)gmail(dot)com>
Cc: Álvaro Hernández <aht(at)nosys(dot)es>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-24 15:16:10
Message-ID: BANLkTikvRbFLf1MccoRs326kUUKjaXuBpw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Que bien, la revisare para ver que encuentro.

Gracias Mario.

El 24 de mayo de 2011 10:09, Mario Soto Cordones <masc68(at)gmail(dot)com>escribió:

> Hola Carlos,
>
>
>
> puedes utilizar de los contrib table_log, es muy buena herramienta para log
> de auditorías y cambios
>
>
>
>
>
> Saludos
>
>
>
> *De:* pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:
> pgsql-es-ayuda-owner(at)postgresql(dot)org] *En nombre de *Carlos Edward Grajales
> Marmolejo
> *Enviado el:* martes, 24 de mayo de 2011 10:59
> *Para:* Álvaro Hernández
> *CC:* pgsql-es-ayuda
> *Asunto:* Re: [pgsql-es-ayuda] Log Tablas
>
>
>
> Gracias...
> habia pensado en eso, lo que no quiero es llenarme de triggers, tengo al
> redededor de 1200 tablas y en crecimiento. Estoy haciendo replicacion con
> Slony y ya saben que Slony agrega triggers a cada tabla. Esta solucion
> implicaria agregar mas triggers a cada tabla. Estoy viendo la posibilidad
> de una solucion diferente.
>
> El 24 de mayo de 2011 09:17, Álvaro Hernández <aht(at)nosys(dot)es> escribió:
>
> Tue, May 24, 2011 at 08:58:33AM -0500, Carlos Edward Grajales Marmolejo
> escribió:
>
>
> >tengo implementado. Sin embargo requiero saber el valor de un campo antes
> y
> >despues de un update. teniendo en cuenta que esto debe aplicar para
> >cualquiera de las tablas que actualmente tengo y las nuevas que se creen.
> >Esta informacion debe ser almacenada para efectos de auditorias
> posteriores.
> >
> >Existe alguna herramienta o procedimiento para hacer esto?
>
> Hola, Carlos.
>
> Puedes implementar un trigger AFTER UPDATE, genérico, que cree
> un registro de dichos valores, a los que puedes acceder como OLD.columna
> y NEW.columna. Luego, puedes crear un trigger en todas las tablas que
> llame a esta función de trigger genérica. Es relativamente sencillo :)
>
> Saludos,
>
> Álvaro
>
> --
>
> Álvaro Hernández Tortosa
>
>
> -----------
> NOSYS
> Networked Open SYStems
>
>
>
>
> --
> ------------------------------------------------------------------
>
>
>
> Cordialmente,
>
> *Carlos Edward Grajales*
> Colombia Software Ltda.
> Calle 18 N No. 3N-24 Ofc.902
> Cali - Colombia
> www.colombiasoftware.net
> Cel. 313 765 0594
> Tel: (2) 489 79 40
>

--
------------------------------------------------------------------

Cordialmente,

*Carlos Edward Grajales*
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net
Cel. 313 765 0594
Tel: (2) 489 79 40


From: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
To: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-24 15:17:02
Message-ID: BANLkTinwdh_hSbtRmYvz-kOy+gCW=upq+Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Gracias Lazaro. Esta es una solucion que esta dentro de mi carpeta de
posibiliades. Estoy biscando que otras cosas puedo hacer. :)

GRacias por tu aporte.

El 24 de mayo de 2011 10:14, Lazaro Rubén García Martinez <
lgarciam(at)vnz(dot)uci(dot)cu> escribió:

> Lo que puedes hacer son triggers sobre las tablas antes de insertar,
> modificar y eliminar, y crear unas tablas para almacenar los resultados que
> obtienes con el disparador, entonces con OLD.nombre_del_campo obtienes el
> valor antes de modificarse y con NEW.nombre_del_campo obtienes el nuevo
> valor que deseas insertar.
>
> Para mas información puedes consultar la siguiente documentación.
>
> http://www.postgresql.org.es/node/301
>
> Saludos.
> ________________________________________
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org [
> pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Carlos Edward Grajales
> Marmolejo [cgrajales(at)colombiasoftware(dot)net]
> Enviado el: martes, 24 de mayo de 2011 9:28
> Para: pgsql-es-ayuda
> Asunto: [pgsql-es-ayuda] Log Tablas
>
> Hola buen dia.
> Tengo una aplicacion que esta en crecimiento ( a nivel de tablas en la bd)
> a un ritmo alto. Dicha aplicacion se encuentra en produccion pero
> constantemente piden desarrollos nuevos.
> Una de mis necesidades es la de poder almacenar las diferentes
> transacciones que hacen los usuarios en el sistema (Insert, update, delete),
> esto ya lo tengo implementado. Sin embargo requiero saber el valor de un
> campo antes y despues de un update. teniendo en cuenta que esto debe aplicar
> para cualquiera de las tablas que actualmente tengo y las nuevas que se
> creen.
> Esta informacion debe ser almacenada para efectos de auditorias
> posteriores.
> Existe alguna herramienta o procedimiento para hacer esto?
> Por su colaboracion y atencion mil gracias.
>
> --
> ------------------------------------------------------------------
>
>
>
> Cordialmente,
>
> Carlos Edward Grajales
> Colombia Software Ltda.
> Calle 18 N No. 3N-24 Ofc.902
> Cali - Colombia
> www.colombiasoftware.net<http://www.colombiasoftware.net/>
> Cel. 313 765 0594
> Tel: (2) 489 79 40
>

--
------------------------------------------------------------------

Cordialmente,

*Carlos Edward Grajales*
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net
Cel. 313 765 0594
Tel: (2) 489 79 40


From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
Cc: Álvaro Hernández <aht(at)nosys(dot)es>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log Tablas
Date: 2011-05-25 00:17:55
Message-ID: BANLkTik_KWM04xQ+1iDsD2okpad==1sJhg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

2011/5/24 Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>:
>
> Estaba pensando mas en una solucion a nivel de programacion en el software
> que me controla la aplicacion, aprovechando que todas las transacciones
> pasan por una sola clase.

y por supuesto perderas el registro de los cambios que no hagas
mediante la aplicación...

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL