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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general