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


Reply via email to