Visibilidad de Cambios en Datos

Regla de visibilidad de cambios en Postgres: durante la ejecuci�n de una consulta, los cambios realizados por ella misma (v�a funciones SQL O SPI, o mediante triggers) le son invisibles. Por ejemplo, en la consulta

   INSERT INTO a SELECT * FROM a
las tuplas insertadas son invisibles para el propio SELECT. En efecto, esto duplica la tabla dentro de s� misma (sujeto a las reglas de �ndice �nico, por supuesto) sin recursividad.

Pero hay que recordar esto sobre visibilidad en la documentaci�n de SPI:

   Los cambios hechos por la consulta Q son visibles por las consultas que
   empiezan tras la consulta Q, no importa si son iniciados desde Q (durante
   su ejecuci�n) o una vez ha acabado.

Esto es v�lido tambi�n para los triggers, as� mientras se inserta una tupla (tg_trigtuple) no es visible a las consultas en un trigger BEFORE, mientras que esta tupla (reci�n insertada) es visible a las consultas de un trigger AFTER, y para las consultas en triggers BEFORE/AFTER lanzados con posterioridad!