Eduardo Morras escribió:
At 09:45 27/01/2010, Eduardo Morras wrote:


Muy buenas, Tengo una tabla grande, de unos 16 millones de registros. Esta noche, han desaparecido todos. La tabla es manejada de forma automatica por una aplicacion que genera estadisticas y la introduce en la tabla. Esta mañana postgres no funcionaba (eso me han dicho) y han reiniciado el servicio de forma automatica. La tabla muestra ahora 0 registros y 16 millones de Dead Tuples.

Existe alguna forma de "desborrar" esos registros? Si los registros no estan 
realmente borrados si no marcado para su borrado, ¿se puede eliminar esa marca de alguna 
forma? Algo similar a :

UPDATE estadistica_tipo
   SET pg.MARCA_BORRADO = false;


Lo de desborrar creo que no es tarea fácil, aquí hay un thread con un caso parecido:
<http://archives.postgresql.org/pgsql-es-ayuda/2007-07/msg00508.php>

Como punto de partida creo que deberías, si no lo has hecho ya, parar postgres y hacer un copia del todo el directorio data.

Una segunda copia te puede valer para instalarla en otro equipo con la misma versión de postgres y usarla para experimentar.

Y, por supuesto, hacer un script para backup diario y configurar el log para que muestre los ddl, ip del cliente y usuario. Asi la próxima vez podrás saber cuando y quien provocó el problema.

Suerte.

--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
--
TIP 8: explain analyze es tu amigo

Responder a