Я использую psql 8.1.18 на сервере Glassfish.У меня есть такой запрос:
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;
Когда я запустил этот запрос, я получил эту ошибку:
ERROR: could not read block 4707 of relation 1663/16384/16564: Success
Однако этот запрос работает нормально:
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;
Я думаю, что это может быть ошибка базы данных, и мне нужно восстановить таблицу из резервной копии, может быть.Но сначала мне нужно узнать, где существуют эти поврежденные данные.Кто-нибудь знает, как найти 1663/16384/16564 отношение?Или 4707 блок?
РЕДАКТИРОВАТЬ: я пытался этот код:
select relname , relfilenode from pg_class where relname in ('1663','16384','16564');
, но он возвращает:
relname | relfilenode
---------+-------------
(0 rows)