Re: Recuperar datos borrados

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Alejandro Morales Arce <alex(dot)moralesarce(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Recuperar datos borrados
Date: 2007-07-22 03:24:59
Message-ID: 20070722032459.GC2902@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alejandro Morales Arce escribió:
> Al leer el archivo con pg_filedump me muestra la siguiente info :
> <Data> ------
> Item 1 -- Length: 212 Offset: 7980 (0x1f2c) Flags: USED
> XMIN: 779257 CMIN: 8 XMAX: 0 CMAX|XVAC: 0
> Block Id: 0 linp Index: 1 Attributes: 13 Size: 36
> infomask: 0x0913 (HASNULL|HASVARWIDTH|HASOID|XMIN_COMMITTED|XMAX_INVALID)
> t_bits: [0]: 0xff [1]: 0x0f
>
> Supongo que el identificador de la transacción es el XMIN,

XMIN es el ID de la transaccion que crea la tupla. Pero si leyeras mi
correo con mas cuidado te darias cuenta que yo hablaba del XMAX, que es
el ID de transaccion que _elimina_ la tupla. Es ese el ID de
transaccion que debes marcar como "abortada".

Sin embargo esta tupla que muestras no esta borrada, porque tiene un
XMAX 0.

> bueno siesto fuera cierto buscaría ese valor en el pg_clog y lo
> modificaria con el pg_filedump.

No, pg_filedump no permite modificar pg_clog. De hecho que yo sepa no
hay ninguna herramienta para modificar pg_clog. Lo unico que puedes
hacer es abrirlo con un editor hexadecimal y modificar los bits, o bien
escribir un pequeño programa que lo haga.

Pero cuidado! Es totalmente factible que al modificar el estado de una
transaccion cuyos resultados ya fueron visibles a la BD, es muy posible
que los datos terminen corruptos o inconsistentes.

La verdad es que es tan riesgoso que yo no lo haria. Esperaba que a
estas alturas te hubieras desanimado de tan descabellado experimento.
(Esto queda facilmente demostrado puesto que de partida escogiste una
tupla que no era la que querias "desborrar").

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Arnaldo Gandol 2007-07-22 04:22:50 Re: ajuste de postgres
Previous Message Alvaro Herrera 2007-07-22 03:13:58 Re: ajuste de postgres