You can use the GIN index on the jsonb column , which gives you generalized dynamic indexing of keys and values inside a JSON value.
CREATE TABLE visitors (
id integer,
data jsonb
);
CREATE INDEX idx_visitors_data ON cards USING GIN (data);
SELECT * FROM visitors
WHERE data -> 'is_user' AND NOT data ? 'name';
, GIN . , 25 :
SELECT * FROM visitors
WHERE data @> '{"name": "Jack"}' AND ((data ->> 'age')::integer) > 25;
"" , , "", , 25, ,
, , GIN JSON, , , . , data -> 'age', :
CREATE INDEX idx_visitors_data_age ON visitors ( ((data ->> 'age')::integer) );
( , ).
. .