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> > > >