Gustavo Vaccaro escribió:Alvaro,<br> ok, pero si quisiera obtener las instrucciones de una fecha que todavia no fue eliminada por la rotacion del WAL ¿podria hacerlo?<br>El WAL registra cambios a nivel físico. Si quieres, puedes intentar descomponer los bytes que fueron registrados en el WAL para que sean una tupla de algún catálogo de sistema que te interese (e.g. pg_class), saber que es un UPDATE o un INSERT o un DELETE, luego identificar la tupla original (en caso de UPDATE), luego tratar de "decodificar" qué tipo de sentencia DDL representa ese cambio. Honestamente, este trabajo es tan complicado, tedioso y propenso a errores que yo ni siquiera lo intentaría (sin mencionar que habría que hacer un esfuerzo adicional en cada migración de versión). Ah, y no sé qué harás cuando te encuentres con 9.5 y su molesta (je) habilidad de comprimir los registros WAL eliminando secuencias de bytes de la tupla modificada que aparecían en la tupla original. https://www.flickr.com/photos/nauright/11341288174/Ejemplo: detecte un error en una funcion y quiero ver las instrucciones que impactaron en un tabla ¿puedo verlas?<br> Te estoy hablando, poder ver lo que paso en mi base de datos de testing (no en produccion) en la ultima ejecucion.<br> Tengo el probelma que todas las instrucciones que genero desde mi aplicacion quedan grabadas en pg_log, pero no quedan las generadas por el trigger o funcion.Además de lo que ya mencioné antes, que no volveré a mencionar, y que resuelve tus requerimientos sin necesidad de decodificar WAL, también te puede servir audit_trigger. </eot>