Exercice 56 / 60

JSONB — extraire des champs

La table events a une colonne payload de type JSONB (du JSON stocké en base). Pour chaque événement, extrais le navigateur et la plateforme, qui se trouvent dans payload → metadata. Colonnes : id, browser, platform. La leçon montre les opérateurs -> et ->>.

jsonb stocke du json de façon optimisée et indexable. Opérateurs d'accès :

-> renvoie un JSON (data->'appareil') ->> renvoie du texte (data->>'visitor_id') @> contient (filtrage)
Les trois opérateurs d'accès au JSONB : la flèche simple renvoie du JSON, la flèche double du texte, et le chevron teste la présence

Exemple (table logs, colonne data de type jsonb) :

SELECT id, data->>'visitor_id' AS visitor_id, data->'appareil'->>'navigateur' AS navigateur FROM logs;

On peut indexer le jsonb avec un index gin pour accélérer les recherches.

events
iduser_idevent_typepayloadcreated_atevent_timechannel
query.sql

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →