Estoy usando psql 8.1.18 en Glassfishserver. Tengo una consulta como esta:ERROR: no se pudo leer el bloque 4707 de la relación 1663/16384/16564: éxito
select ip,round((select sum(t1.size) from table t1))
from table
where date > '2011.07.29'
and date < '2011.07.30'
and ip = '255.255.255.255'
group by ip;
Cuando funciono con esta pregunta me dio este mensaje:
ERROR: could not read block 4707 of relation 1663/16384/16564: Success
Sin embargo esta consulta funciona bien:
select ip,round(sum(size)/175)
from table
where date > '2011.07.29'
and l_date < '2011.07.30'
and ip = '255.255.255.255'
group by ip;
yo creo que puede ser una error de base de datos y necesito restaurar la tabla de la copia de seguridad, tal vez. Pero primero necesito aprender dónde existen estos datos corruptos. ¿Alguien sabe cómo encontrar la relación 1663/16384/16564? O bloque 4707?
EDIT: yo probamos este código:
select relname , relfilenode from pg_class where relname in ('1663','16384','16564');
pero vuelve:
relname | relfilenode
---------+-------------
(0 rows)
que debe ser algo así como: seleccione nombre_rel, relfilenode de pg_class donde nombre_rel en ('1663', '16384', '16564'); pero aún no se pudo encontrar el código exacto – lamostreta