Siguiendo con el tema, tengo un problema ya que al grabar en la tabla 
borradoscopia los campos y sus valores, no los graba en el orden de creación de 
los campos en la tabla, sino en el orden que le da la gana. Esto es debido a la 
función hstore que ejecuta ese trabajo de esa forma. ¿Como podría cambiar este 
orden (usando alguna funcion de hstore) de tal forma que aparezcan ordenados 
usando el orden de creación en la tabla de la BD?

Gracias

Anexo function actual


/* esta funcion va asociada a todos los triggers de cada tabla donde se deseé 
el borrado fisico con copia*/
create or replace function public.fn_borradocopia () returns trigger
as
$$
declare 
    arrDatos bytea[]; 
    arrCampos bytea[]; 
    i integer := 1;
    r record;
begin    
    FOR r IN SELECT (each(hstore(OLD))).* 
    LOOP 
        arrCampos[i] := r.key;
        arrDatos[i] := r.value; 
        --RAISE NOTICE 'key:%, value: %', r.key, r.value; 
        i=i+1;
    END LOOP;
    insert into borradoscopia values (TG_RELNAME,arrCampos,arrDatos);
    return OLD;
end;
$$
LANGUAGE plpgsql VOLATILE
  COST 100;

--aca van cada trigger para cada tabla
drop TRIGGER trg_borradocopia on clientesborradocopia;
CREATE TRIGGER trg_borradocopia BEFORE DELETE ON clientesborradocopia
    FOR EACH ROW EXECUTE PROCEDURE  fn_borradocopia () ;  

DELETE from clientesborradocopia where idcliente = 1



>________________________________
>De: Alejandro Carrillo <faster...@yahoo.es>
>Para: Alvaro Herrera <alvhe...@alvh.no-ip.org>
>CC: "pgsql-es-ayuda@postgresql.org" <pgsql-es-ayuda@postgresql.org>
>Enviado: martes 8 de noviembre de 2011 14:51
>Asunto: Re: [pgsql-es-ayuda] recorrer old
>
>
>jajajaj muy chistoso. ¿O es que en postgresql no soporta arrays 
>multidimensionales en una funcion?
>
>
>
>
>>________________________________
>>De: Alvaro Herrera <alvhe...@alvh.no-ip.org>
>>Para: Alejandro Carrillo <faster...@yahoo.es>
>>CC: Ayuda <pgsql-es-ayuda@postgresql.org>
>>Enviado: martes 8 de noviembre de 2011 14:47
>>Asunto: Re: [pgsql-es-ayuda] recorrer old
>>
>>
>>Excerpts from Alejandro Carrillo's message of mar nov 08 15:47:43 -0300 2011:
>>> porq la tabla solo tiene 2 campos:
>>> 
>>> drop TABLE borradoscopia;
>>> 
>>> CREATE TABLE borradoscopia
>>> (
>>>   tabla character varying(80) NOT NULL,
>>>   registro bytea[][] NOT NULL 
>>> );
>>
>>entonces borrala y hazla de nuevo.
>>
>>-- 
>>Álvaro Herrera <alvhe...@alvh.no-ip.org>
>>
>>
>>
>
>

Responder a