Pokud máte v primárním klíči více hodnot, musíte na něj odkazovat jinak jako na cizí klíč.
V podstatě, když říkáte
FlightID char (20) REFERENCES Flight(FlightID) ON DELETE CASCADE,
PostgreSQL kontroluje primární klíč, který neexistuje (protože primární klíč v této tabulce je (flightid, flightdate)).
Zahoďte tedy REFERENCES
klauzule při odkazování na letovou tabulku a přidejte
FOREIGN KEY (FlightID, FlightDate) REFERENCES Flight (FlightID, FlightDate)
Způsobem, který máte v některých jiných definicích tabulek.