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> -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda