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;


Se me olvidaba, los logs no muestran nada anormal, solo el apagado de postgres. 

2010-01-27 08:16:13 CETLOG:  se recibió petición de apagado rápido
2010-01-27 08:16:13 CETLOG:  abortando transacciones activas
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando el proceso autovacuum debido a una 
orden del administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETLOG:  apagando lanzador de autovacuum
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:13 CETFATAL:  terminando la conexión debido a una orden del 
administrador
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:15 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:21 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:21 CETLOG:  apagando
2010-01-27 08:16:21 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:22 CETFATAL:  el sistema de base de datos está apagándose
2010-01-27 08:16:22 CETLOG:  el sistema de bases de datos está apagado
2010-01-27 08:16:22 CETFATAL:  el sistema de base de datos está apagándose


Y al iniciar nada raro tampoco

2010-01-27 08:16:25 CETLOG:  el sistema de bases de datos fue apagado en 
2010-01-27 08:16:22 CET
2010-01-27 08:16:25 CETFATAL:  el sistema de base de datos está iniciándose
2010-01-27 08:16:25 CETFATAL:  el sistema de base de datos está iniciándose
2010-01-27 08:16:25 CETFATAL:  el sistema de base de datos está iniciándose
2010-01-27 08:16:26 CETLOG:  el sistema de bases de datos está listo para 
aceptar conexiones
2010-01-27 08:16:26 CETLOG:  lanzador de autovacuum iniciado

>Puedo hacer algo para recuperar los datos. Aparte de tirar de un backup, que 
>no tenemos.
>
>Un saludo y gracias


De nuevo gracias.


--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a