Bazy danych · Senior · Pytanie 64 z 75

Jak PostgreSQL może na poziomie bazy zapobiec dwóm nakładającym się rezerwacjom tej samej sali?

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

Wyjaśnienie

Nie ma tu wyścigu, w przeciwieństwie do sprawdzania nakładania przed wstawieniem. Część z równością po room_id wymaga rozszerzenia btree_gist.

Do poczytania

Błąd w pytaniu

Bazy danych · Senior · pytanie 64

Sprawdź się

Rozwiąż test Bazy danych · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test