How to build a btree index with integer values on jsonb data? - Mailing list pgsql-general

From Johann Spies
Subject How to build a btree index with integer values on jsonb data?
Date
Msg-id CAGZ55DSm4kGiBSJaPtTk6L7hp6xDFKaKThDLmXd_4cCFFFJe5Q@mail.gmail.com
Whole thread Raw
Responses Re: How to build a btree index with integer values on jsonb data?  (Laurenz Albe <laurenz.albe@cybertec.at>)
Re: How to build a btree index with integer values on jsonb data?  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-general
How can I transform the following definition to index pubyear as
integer and not text?

CREATE INDEX pubyear_idx
    ON some_table_where_data_field_is_of_type_jsonb USING btree
    ((((((data -> 'REC'::text) -> 'static_data'::text) ->
'summary'::text) -> 'pub_info'::text) ->> '@pubyear'::text) COLLATE
pg_catalog."default");

While I can cast the value in a SELECT statement to integer I have
been able to do the same while creating the index.

Why btree index?  I want to do queries like

select stuff from sometable where pubyear between 2015 and 2018;

Regards
Johann
-- 
Because experiencing your loyal love is better than life itself,
my lips will praise you.  (Psalm 63:3)


pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: debugging intermittent slow updates under higher load
Next
From: Rene Romero Benavides
Date:
Subject: Re: order of reading the conf files