From: | Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com> |
---|---|
To: | Carlos Montecel <carlos(dot)montecel(at)gmail(dot)com> |
Cc: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Tablacorrupta |
Date: | 2019-04-09 18:41:57 |
Message-ID: | CAJGNTeNDH6Ot7ScpZOxLBZPmw6O8gNdK=rMB+O7YcaOD1cyZqQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Tue, 9 Apr 2019 at 12:37, Carlos Montecel <carlos(dot)montecel(at)gmail(dot)com> wrote:
>
> Estimados
>
>
> Este es el error que sale al hacer select en una tabla
>
>
>
> ERROR: el encabezado de página no es válido en el bloque 636253 de la relación base/163902/166094
>
Saludos Carlos,
Primero que nada, aunque no nos has dicho que versión de postgres
estás usando, ese mensaje de error lo encontré sólo entre 8.2 y 9.2
por lo que estas usando una versión vieja y descontinuada de postgres
(https://www.postgresql.org/support/versioning/) Trata de actualizar
lo antes posible.
y de paso en windows!!! por qué le tienes tanto odio a tus datos?
me imagino que el hardware es igual de viejo y tampoco le has de dar
mantenimiento lo que explica porque está fallando.
>
>
> Tenemos problemas para restaurar la base después de este error, los esquemas no se crean correctamente.
>
>
> EL proceso de restauración de un backup no resuelve el problema:
>
obviamente ningún backup va a ser válido si te dió este error, lo más
probable es que pg_dump se haya detendio después de este error es por
eso que no puedes restaurar el resto de objetos
tienes dos opciones, probemos primero con la menos dolorosa:
determinar si es una tabla o un índice el del problema
Con la siguiente consulta determinas en que base de datos está el
objeto afectado (supongo que es nw_des porque de esa base estás
sacando el backup)
select datname from pg_database from oid = 163902;
Una vez sepas en que base esta el objeto afectado ejecuta este comando
para determinar si es un índice o una tabla:
select relname, relkind from pg_class where relfilenode = 166094;
si el campo relkind dice 'i' entonces es un índice y debería bastar
con ejecutar:
REINDEX INDEX nombre_del_indice;
--
Jaime Casanova www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Montecel | 2019-04-09 19:17:05 | Re: Tablacorrupta |
Previous Message | Jaime Casanova | 2019-04-09 18:18:33 | Re: Alta |