Re: ERROR: invalid page header in block 0

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: David Samudio <david(dot)samudio(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ERROR: invalid page header in block 0
Date: 2012-06-06 12:57:32
Message-ID: CAJKUy5jA2on3jeevup8jktVHk5Ysbz6BYDMY0YZtK0CeQ5eM5Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2012/6/5 David Samudio <david(dot)samudio(at)gmail(dot)com>:
> Hola a todos.. espero puedan ayudarme.. utilizo Postgres 8.0.4 que corre en
> un Win 7 x 64, hoy termine el dia con este error..
>

Ah! 8.0 dejó de tener soporte en el 2010 [1] y sobre Windows dejó de
tener soporte en el 2007 [2] (esto es 2 años antes de que apareciera
win 7), lo que significa que desde el 2007 ninguna falla se corrigió
en esas versiones cuando el problema solo ocurría en Windows y a
partir del 2010, ninguna falla se corrigió en absoluto.

La versión que estas usando 8.0.4 es del 2005 (de hace 7 años), muchas
fallas se han corregido y esta podría ser una de ellas (no
necesariamente la única que sufres pero obviamente la mas notoria).

Para se mas directo, no puedes usar 8.0 ni 8.1 en Windows y esperar
que funcione sin problemas. Ya esta mal que uses una versión tan vieja
pero es peor aun por que estas usando una versión que se sabe no sabía
manejar los defectos de Windows (por eso perdio soporte en esa
plataforma prematuramente).

Lo minimo que deberías estar usando es 9.0, que salio despues que
Windows 7 y que segun el pgbuildfarm [3] al menos pasa todas las
pruebas en win 7

[1] http://www.postgresql.org/support/versioning/
[2] http://archives.postgresql.org/pgsql-announce/2007-09/msg00010.php
[3] http://pgbuildfarm.org/cgi-bin/show_status.pl?member=chough&member=pitta

PS: despues de decir todo eso, sinceramente espero que hayas puesto
mal el número de versión =)

> pg_dump: Error message from server: ERROR:  invalid page header in block 0
> of relation "pg_conversion"
> pg_dump: The command was: SELECT tableoid, oid, conname, connamespace,
> (select usename from pg_user where conowner = usesysid) as usename FROM
> pg_conversion
> pg_dump: *** aborted because of error
>

ouch!

> Ya no puedo hacer ningún backup, mantenimiento de tablas.. ni ninguna
>  otra operación con la base de datos...
>

puedes ejecutar VACUUM, ANALYZE o REINDEX en una sola tabla? algo como:
ANALYZE nombre_tabla;

> Hasta este momento los operadores si se pueden conectar a la bd.. y realizar
> transacciones.. pero me preocupa el hecho de no poder hacer ningun backup..
> ni mantenimiento a las tablas.. no se pueden hacer reindexaciones..
> absolutamente nada de ese tipo de tareas.. .
>

deberias estar preocupado, este es solo el preludio de una tragedia

> Entiendo que esta dañada la bd.. en todas las operaciones se cancela al
> querer leer/analizar la tabla pg_conversion..  alguien tiene alguna idea de
> que puedo hacer??
>

lo primero que yo haria seria parar la base de datos y sacar un
respaldo fisico de la carpeta data
instala postgres 8.0.4 en otra maquina con windows 7 de 64 bits y
ubica que archivo hace referencia al catalogo pg_conversion (estoy
asumiendo que tu no has creado ninguna conversion con el comando
CREATE CONVERSION, por lo que los catalogos deberian ser iguales),
para ubicar que archivo es puedes usar el modulo oid2name

deten el servicio, salva el archivo que corresponde a pg_conversion.
Luego reemplaza la carpeta data de esta instalacion con la copia que
hiciste en el servidor con problemas, y en esa carpeta reemplaza el
archivo que corresponde a pg_conversion con el que salvaste antes de
reemplazar la carpeta.

Arranca el servicio de esa base y verifica si puedes sacar un backup.
Si eso funciona empieza a planear la migración a una versión más nueva
de postgres (lo cual puede tomarte algun tiempo porque muchas cosas
han pasado entre 8.0 y 9.1, especialmente que en 8.3 se eliminaron
algunos casts que te obligaran a reescribir algunas consultas).
preparate para arreglar tu aplicación.

tampoco descartes que el problema sea de hardware, sería interesante
chequear el hardware para asegurarte que no te esta dando problemas.

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emiliano Romero 2012-06-06 13:04:06 Re: ddl tabla
Previous Message Marcos Michel Martinez Perez 2012-06-06 12:52:24 ddl tabla