Array Type

PostgreSQL 🟡 Mid

Definition

PostgreSQL supporte nativement les colonnes de type tableau. Permet de stocker plusieurs valeurs du meme type dans une seule colonne, avec des operateurs 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 creer une table de jointure.

Anti-pattern

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

Termes lies

#sgbd#interview#database#postgresql