Du kan filtrera ner till en enda nyckel ganska enkelt så här:
jsonb_object(ARRAY[key, jsonb_data -> key])
...eller så kan du filtrera ner till flera nycklar:
(SELECT jsonb_object_agg(key, value) FROM jsonb_each(jsonb_data) WHERE key IN ('a', 'b'))
Eller på ett mer komplext tillstånd, om du vill:
(
SELECT jsonb_object_agg(key, value)
FROM jsonb_each(jsonb_data)
WHERE
key NOT LIKE '__%'
AND jsonb_typeof(value) != 'null'
)
Den här typen av frågor kan besvaras mycket enkelt genom att helt enkelt läsa dokumentationen .