Hola,
Estoy creando una funcion de auditoria a base de triggers,
La tabla de auditoria entre otros campos tiene estos :
tabla character varying, -- Nombre de tabla
campos character varying[], -- Lista de campos del registro
old_value character varying[], -- Valores antiguos
new_value character varying[], -- Valores nuevos
Dentro del trigger obtengo fácilmente el nombre de tabla y el array con
los campos:
tabla := TG_TABLE_NAME;
SELECT array(SELECT information_schema.columns.column_name::character
varying FROM information_schema.columns WHERE
information_schema.columns.table_name = TG_TABLE_NAME order by
ordinal_position) INTO campos ;
Sin embargo tengo problemas con los registros OLD.* y NEW.*, los tipos
de campo pueden ser de cualquier tipo y lo quiero cargar en old_value y
new_value que son character varying[]
Gracias