Datenbanken · Senior · Frage 64 von 75

Wie kann PostgreSQL auf Datenbankebene zwei überlappende Buchungen desselben Raums verhindern?

ALTER TABLE bookings ADD CONSTRAINT no_overlap
  EXCLUDE USING gist (room_id WITH =, during WITH &&);
Antwort zeigen

Richtige Antwort: Eine Exclusion Constraint über einen Bereich

Erklärung

Das ist frei von Race Conditions, anders als vor dem Einfügen auf Überlappungen zu prüfen. Für den Gleichheitsteil auf room_id braucht es die Erweiterung btree_gist.

Zum Weiterlesen

Fehler in der Frage

Datenbanken · Senior · Frage 64

Teste dich selbst

Mach den Test Datenbanken · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen