Re: ERROR: could not read block 4707 of relation 1663/16384/16564: Success

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: ERROR: could not read block 4707 of relation 1663/16384/16564: Success
Дата
Msg-id 24b559fbc9a8c3fe19cddb62569be6bb.squirrel@sq.gransy.com
обсуждение исходный текст
Ответ на Re: ERROR: could not read block 4707 of relation 1663/16384/16564: Success  (Deniz Atak <denizatak@gmail.com>)
Список pgsql-general
On 1 Srpen 2011, 10:25, Deniz Atak wrote:
> Hi Deepak,
>
> thanks for your answer. Do you have any opinion about how can I find the
> corrupted rows? Do you know how to read:
>
> "could not read block 4707 of relation 1663/16384/16564"
>
> ?
> Also, there is one interesting thing: a very similar query like this:
>
> select src_ip,round(sum(size)/175) from table where date>'2011.07.29'
> and l_date<'2011.07.30' and src_ip='255.255.255.255' group by src_ip;
>
> works fine. But this one doesn't:
>
> select src_ip,round((select sum(t1.size) from table t1)) from table
> where date>'2011.07.29' and date<'2011.07.30' and
> src_ip='255.255.255.255'
>
> group by src_ip;

The first query probably does not access the corrupted block, while the
other one does (and fails). The second query does a full table scan on t1
(in the subselect), so the changes are this is the relation with corrupted
blocks. Or maybe it's the outer table and the queries use a different
execution plans.

We need to know which relation is 16564. Try this

SELECT relname FROM pg_class WHERE relfilenode = 16564 OR oid = 16564;

and it should give you the name of the relation.

Tomas


В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Error: operator does not exist: integer = integer
Следующее
От: Tom Lane
Дата:
Сообщение: Re: ERROR: could not read block 4707 of relation 1663/16384/16564: Success