JSONB

PostgreSQL 🟡 Mid

Définition

Type de données binaire JSON dans PostgreSQL. Contrairement a JSON (texte brut), JSONB est parse et stocke en binaire, permettant l'indexation et les requêtes performantes.

Analogie

JSON compile : tu perds la mise en forme originale mais tu gagnes la vitesse de recherche d'un index.

Exemple de code

CREATE TABLE events (
  id SERIAL PRIMARY KEY,
  data JSONB NOT NULL
);
SELECT * FROM events
  WHERE data->>'type' = 'click'
  AND (data->'meta'->>'count')::int > 5;

Cas d'usage

Stocker des données semi-structurées (logs, config, metadonnees) dans une base relationnelle.

Anti-pattern

Utiliser JSONB pour tout au lieu de colonnes relationnelles, perdant les avantages du schema.

Termes liés

#sgbd#interview#database#postgresql

En entretien

  1. Quelle différence entre JSON et JSONB dans PostgreSQL ?

    JSON stocke le texte brut tel quel, alors que JSONB est parsé et stocké en binaire, ce qui permet l'indexation et des requêtes performantes. On utilise JSONB pour stocker des données semi-structurées comme des logs, une config ou des métadonnées.

  2. Quel anti-pattern voit-on avec JSONB ?

    L'utiliser pour tout, y compris des données clairement relationnelles, au lieu de vraies colonnes typées, ce qui fait perdre les avantages du schéma. JSONB doit compléter le modèle relationnel, pas le remplacer.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre