kernel escribió: > Hola, > > Me me han desaparecido los datos de una tabla, por suerte teníamos copia de > seguridad y ya lo hemos restaurado. > > La cuestión es que no sabemos por que ha podido suceder , no sabemos si ha > podido ser el ERP o algún usuario de administración del al db lo haya > borrado por error > > Disponemos de una copia base y de todos los archivos wal, ¿hay alguna manera > de poder buscar las sentencias en estos archivos wal para poder tirar del > hilo?
Sí, se puede seguir el hilo, pero como dijo Martín es a nivel físico. Lo primero es obtener el relfilenode de la tabla (de pg_class) y el ctid de la tupla que quieres investigar. Luego usa pg_waldump (o pg_xlogdump en versiones anteriores) para encontrar qué le hizo update o delete a esa tupla en ese relfilenode. Eso te dará un XID (identificador de transacción). Puedes ver qué más hizo esa transacción usando pg_waldump -x. Si tu log_line_prefix tiene %x entonces podrás ver lo que dejó en el log esa transacción (por ej. cuándo se conectó, desde qué IP, etc). -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services