Re: Select * from tabla --> a String...

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Select * from tabla --> a String...
Date: 2005-12-09 14:48:59
Message-ID: 20051209144859.GA20423@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Nicolás Domínguez Florit escribió:
> Si, lo 1 tabla de auditoria por cada tabla es una solucion. Pero no BUENA
> para mi caso puntual.
>
> Ya que es una depuracion de tablas y repetir 300 tablas no me es util.
> (para este caso puntual.)

Repetir 300 tablas?

create table foo (a int, b text);
create table bar (c text, d numeric);
create table audit_foo (rec foo);
create table audit_bar (rec bar);

alvherre=# insert into foo values (1, 'uno');
INSERT 0 1
alvherre=# insert into foo values (2, 'deux');
INSERT 0 1
alvherre=# insert into audit_foo select foo from foo;
INSERT 0 2
alvherre=# select * from audit_foo ;
rec
----------
(1,uno)
(2,deux)
(2 filas)

alvherre=# insert into bar values ('none', 1000);
INSERT 0 1
alvherre=# insert into bar values ('two', 2000);
INSERT 0 1
alvherre=# insert into bar values ('cero', 999);
INSERT 0 1
alvherre=# insert into audit_bar select bar from bar;
INSERT 0 3
alvherre=# select * from audit_bar;
rec
-------------
(none,1000)
(two,2000)
(cero,999)
(3 filas)

A las tablas audit_* le agregas columnas "event" y reemplazas "rec" por
"new" y "old", sazonas con triggers y ya tienes tu auditoria lista. Que
mas facil lo quieres?

Si lo que querias era poner la auditoria de foo y bar en una sola tabla,
me temo que no es posible:

alvherre=# create table audit_both (rec record);
ERROR: la columna «rec» tiene pseudotipo record

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-12-09 14:50:25 Re: Plataforma linux recomendada para instalación de postgresql en ambiente de alta exigencia
Previous Message Raul Caso 2005-12-09 14:39:25 Re: Select * from tabla --> a String...