jsonb and comparison operators

Поиск
Список
Период
Сортировка
От Joe Van Dyk
Тема jsonb and comparison operators
Дата
Msg-id CACfv+pKoL+-sn3g_4FPyJXqb1+hbv97B8+8umXYh1qpHf9eDTA@mail.gmail.com
обсуждение исходный текст
Ответы Re: jsonb and comparison operators  (Peter Geoghegan <peter.geoghegan86@gmail.com>)
Re: jsonb and comparison operators  (Oleg Bartunov <obartunov@gmail.com>)
Список pgsql-general
Is it possible to get this query (or a similar one) to use an index? 

I want to return all rows that have a value of less than 10. I have arbitrary keys I want to check (not just 'a').

drop table if exists test;                                                                          
create table test (j jsonb);                                                                        
insert into test select json_build_object('a', i)::jsonb from generate_series(1, 100000) i;         
create index on test using gin(j);                                                                                                
vacuum analyze test;                                                                                
                                                                                                    
select * from test where (j->>'a')::int < 10;

I tried
select * from test where j->'a' < 10::json::jsonb; 
but didn't seem to use the index.

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

Предыдущее
От: Patrick Dung
Дата:
Сообщение: Re: Question about gin index not used on a tsv column
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: jsonb and comparison operators