postgresql jsonb query code example

Example 1: how to get json data in postgresql

-- Give me params.name (text) from the events table
select params->>'name' from events;

-- Find only events with a specific name
select * from events where params->>'name' = 'Click Button';

-- Give me the first index of a JSON array
select params->ids->0 from events;

-- Find users where preferences.beta is true (boolean)
-- This requires type casting preferences->'beta' from json to boolean
select preferences->'beta' from users where (preferences->>'beta')::boolean is true;

Example 2: postgres json

UPDATE users SET data = jsonb_set(data, '{name}', '"John"');

Example 3: json with postgresql

SELECT info ->> 'customer' AS customer,
	info -> 'items' ->> 'product' AS product
FROM orders
WHERE CAST ( info -> 'items' ->> 'qty' AS INTEGER) = 2

Example 4: postgres json

UPDATE users SET tags = tags || array['admin'];