Hola

Ya coloque con un editor hexadecimal el valor de xmax en 0 (LO SÉ poque 
reemplacé el archivo y volvi a consultar select * from 
heap_page_items(get_raw_page('gps_datos',0))), sin embargo no me sale el dato 
eliminado. Creo que me falta el bit con xmax commited en el registro eliminado, 
pero no sé donde ponerlo en el archivo.

Por favor ayudame.


Gracias




>________________________________
> De: Alvaro Herrera <alvhe...@alvh.no-ip.org>
>Para: Alejandro Carrillo <faster...@yahoo.es> 
>CC: Ayuda <pgsql-es-ayuda@postgresql.org>; Casanova Jaime 
><ja...@2ndquadrant.com>; Quijada Edwin <listas_quij...@hotmail.com>; Gonzalez 
>Rodrigo <lis...@estrads.com.ar> 
>Enviado: Martes 29 de Mayo de 2012 14:28
>Asunto: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar 
>borrado físico de registro.
> 
>
>Excerpts from Alejandro Carrillo's message of mar may 29 14:15:18 -0400 2012:
>> Ok, entiendo. Ya llegue a ese archivo a través de la ruta 
>> pgsql\data\base\16641 y copie el archivo 58031. ¿Ahora como quito el hint bit
>> de "xmax committed" y coloco el valor de "xmax" en 0, usando el editor 
>> hexadecimal (en donde coloco en el archivo esos cambios)?
>
>Usa pg_filedump para averiguar el offset de cada tupla.  Luego mira en
>htup.h la definición de HeapTupleHeaderData para saber en qué posición
>de la cabecera de tupla está cada elemento; tú buscas t_infomask y
>t_xmax.  Una forma simple puede ser ver el pg_filedump de cada tupla qué
>valor tiene cada campo, y encontrar ese valor en el editor (ojo con
>valores little endian: los bytes se ponen al revés).  Tocas el archivo,
>grabas, y luego un nuevo pg_filedump te dirá si has modificado la
>posición correcta.
>
>Otra opción que se me acaba de ocurrir es tener el servidor corriendo, y
>usando GDB modificar los valores "en caliente" en el buffer que tiene la
>página de datos correspondiente.  Neceesitas saber suficiente de GDB
>y tener familiaridad con el código de Postgres para saber qué tocar y
>cómo .. pero al menos no tienes que estar moviendo bytes a mano.  Como
>nunca lo he hecho, no explicaré cómo se hace porque no lo sé.
>
>-- 
>Álvaro Herrera <alvhe...@alvh.no-ip.org>
>
>
>

Responder a