Postgres JSONB date range search
You can create an index on the column. However casting strings to dates for an index isn't straightforward, as the conversion isn't recognized as &quot;immutable&quot; by Postgres (although it is).
With a little workaround, this can be done though:
create function dob(p_value jsonb)
returns date 
as
$$
  select (p_value -&gt;&gt; 'dob')::date;
$$
language sql
immutable;

Then you can create an index:
create index on the_table ( (dob(obj)) );

And use the function in the WHERE clause:
SELECT * 
FROM the_table 
WHERE dob(obj) BETWEEN DATE '2019-01-01' AND DATE '2020-01-01'