Wenn Sie mehrere Werte in einem Primärschlüssel haben, müssen Sie ihn anders als Fremdschlüssel referenzieren.
Grundsätzlich, wenn Sie sagen
FlightID char (20) REFERENCES Flight(FlightID) ON DELETE CASCADE,
PostgreSQL sucht nach diesem Primärschlüssel, der nicht existiert (da der Primärschlüssel für diese Tabelle (flightid, flightdate) ist).
Lassen Sie also die REFERENCES
weg -Klauseln beim Verweis auf die Flight-Tabelle und add
FOREIGN KEY (FlightID, FlightDate) REFERENCES Flight (FlightID, FlightDate)
So wie Sie es in einigen anderen Tabellendefinitionen haben.