Es TG_TABLE_SCHEMA, sin embargo he tenido lios al tratar de incluir el schema 
en el insert, por favor revisen que pudo haber pasado:

execute 'insert into ' || quote_ident(p_schema||'.'||p_tabla)::regclass 
        || ' SELECT * FROM populate_record(null::'|| 
quote_ident(p_schema||'.'||p_tabla)::regclass ||', $1)' using regrec;

El error:

NOTICE:  no existe la relación «public.clientesborradocopia»

Y la bendita tabla si existe.



>________________________________
>De: Alvaro Herrera <alvhe...@alvh.no-ip.org>
>Para: Alejandro Carrillo <faster...@yahoo.es>
>CC: Ayuda <pgsql-es-ayuda@postgresql.org>
>Enviado: miércoles 16 de noviembre de 2011 14:38
>Asunto: Re: Rv: [pgsql-es-ayuda] recorrer old
>
>
>Excerpts from Alejandro Carrillo's message of mié nov 16 16:28:07 -0300 2011:
>> -Supongo que deberías especificar el esquema de la tabla, no solamente su
>> nombre.
>> No es tan simple ya que en la function fn_borradocopia, que devuelve el 
>> trigger, la variable TG_RELNAME contiene solo el nombre de la tabla.
>
>TG_SCHEMA_NAME ...  En todo caso, supuestamente TG_RELNAME está
>obsoleto; mejor usa TG_TABLE_NAME.
>
>> -Otra cosa ¿has considerado qué pasa si la versión actual de la tabla
>> difiere en columnas con la que tenía al momento de ejecutar el borrado?
>> Si
>> 
>> 1) Si tiene columnas nuevas, al reataurarla las deja en null
>> 2) Si ha cambiado el nombre de alguna columna, al restaurarla deja el dato 
>> en null
>> 3) Si la columna no existe, no muestra el dato
>> 
>> Toda esta magía la hace la función populate_record de, obviamente, la 
>> extensión hstore
>
>Suena razonable ...
>
>> ¿Alguna otra observación? ¿Sugerencia?
>
>-- 
>Álvaro Herrera <alvhe...@alvh.no-ip.org>
>
>
>

Responder a