Lessico IT › Database › Vincolo di esclusione

Vincolo di esclusione

Database Svenska → Aggiornato: 2026-10-01

La generalizzazione dell'unicità: invece di impedire che due righe abbiano lo stesso valore, si può impedire che si sovrappongano, si intersechino o siano troppo vicine.

Un indice univoco è il caso particolare in cui l'operatore è l'uguaglianza. PostgreSQL permette di scegliere qualsiasi operatore supportato dal tipo di indice, e questo consente di esprimere in modo dichiarativo condizioni altrimenti impossibili. L'esempio classico sono le prenotazioni: EXCLUDE USING gist (room WITH =, during WITH &&) stabilisce che due righe non possono avere la stessa stanza e intervalli di tempo sovrapposti. L'alternativa nell'applicazione è chiedere prima se lo slot è libero e poi scrivere, una race condition che aspetta solo abbastanza traffico per manifestarsi. Combinare l'uguaglianza su colonne ordinarie con la sovrapposizione su intervalli richiede l'estensione btree_gist.

← Torna al lessico