Array Type

PostgreSQL 🟡 Mid

Définition

PostgreSQL supporte nativement les colonnes de type tableau. Permet de stocker plusieurs valeurs du même type dans une seule colonne, avec des opérateurs dedies (@>, &&, ANY).

Analogie

Une cellule Excel qui peut contenir une liste de valeurs au lieu d'une seule.

Exemple de code

CREATE TABLE posts (
  id SERIAL PRIMARY KEY,
  tags TEXT[] DEFAULT '{}'
);
SELECT * FROM posts WHERE 'sql' = ANY(tags);
SELECT * FROM posts WHERE tags @> '{sql,pg}';

Cas d'usage

Stocker des tags, des permissions ou de petites listes sans créer une table de jointure.

Anti-pattern

Utiliser des arrays pour des relations complexes au lieu d'une table many-to-many.

Termes liés

#sgbd#interview#database#postgresql

En entretien

  1. Explique-moi à quoi sert le type array de PostgreSQL et donne un cas d'usage typique.

    PostgreSQL permet de stocker plusieurs valeurs du même type dans une seule colonne, avec des opérateurs dédiés comme @> ou ANY. On l'utilise typiquement pour des tags, des permissions ou de petites listes sans créer de table de jointure.

  2. Quand faut-il éviter d'utiliser un array plutôt qu'une vraie relation ?

    Il faut l'éviter dès que la relation devient complexe, par exemple pour du many-to-many, où une vraie table de jointure reste plus adaptée. Un array convient aux petites listes simples, pas aux relations complexes.

Fiche mise à jour le 2026-09-27

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