Enum Type

PostgreSQL 🟢 Junior

Definition

Type personnalise definissant un ensemble fixe de valeurs autorisees. Plus performant et type-safe qu'une contrainte CHECK sur un VARCHAR.

Analogie

Un menu deroulant avec des options figees : tu ne peux choisir que ce qui est propose.

Exemple de code

CREATE TYPE mood AS ENUM (
  'happy', 'sad', 'neutral'
);
CREATE TABLE entries (
  id SERIAL PRIMARY KEY,
  feeling mood NOT NULL
);

Cas d'usage

Definir des statuts, roles ou categories avec un nombre fini de valeurs connues a l'avance.

Anti-pattern

Creer un enum pour des valeurs qui changent souvent, car ajouter/supprimer des valeurs est lourd.

Termes lies

#sgbd#interview#database#postgresql