Thread: Odd error message (" hash indexes do not support whole-index scans")

Odd error message (" hash indexes do not support whole-index scans")

From
Marinos Yannikos
Date:
Shouldn't PostgreSQL behave in a different way in this case? (e.g. just 
not use the index):
                                          Table "public.forum_messages"
 message_id          | integer                  | not null default 
nextval('forum_messages_message_id_seq'::text) parent_userid       | integer                  | supersededby        |
integer                 | default 0
 
    "forum_messages_pkey" primary key, btree (message_id)    "idx_supersede" hash (supersededby) WHERE (supersededby >
0)


#  select m1.message_id,m2.message_id,m1.parent_userid,m2.parent_userid 
from forum_messages m1, forum_messages m2 where 
m2.supersededby=m1.message_id and m2.supersededby>0;
ERROR:  hash indexes do not support whole-index scans

Regards, Marinos



Marinos Yannikos <mjy@geizhals.at> writes:
> Shouldn't PostgreSQL behave in a different way in this case? (e.g. just 
> not use the index):

Good catch.  But why are you using a hash index for this?
        regards, tom lane


Re: Odd error message (" hash indexes do not support whole-index

From
Marinos Yannikos
Date:
Tom Lane wrote:
> Good catch.  But why are you using a hash index for this?

Just experimenting - I was trying to determine whether a hash index 
would give better performance - the values are always unique except when 
they're 0 and < > relations are never needed. That particular query 
would have been needed only once for maintainance work.

Regards, Marinos