From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | kernel <jucabapa(at)gmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: localizar sentencia en archivos wal |
Date: | 2020-06-05 16:41:57 |
Message-ID: | 20200605164157.GA2570@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Fontana Daniel C (Desartec S.R.L.) | 2020-06-08 12:32:30 | Empezando con Slony |
Previous Message | kernel kernel | 2020-06-05 14:47:07 | Re: localizar sentencia en archivos wal |