Saat Anda memiliki beberapa nilai dalam kunci utama, Anda perlu merujuknya secara berbeda sebagai kunci asing.
Pada dasarnya, ketika Anda mengatakan
FlightID char (20) REFERENCES Flight(FlightID) ON DELETE CASCADE,
PostgreSQL memeriksa kunci utama itu, yang tidak ada (karena kunci utama di tabel itu adalah (flightid, flightdate)).
Jadi letakkan REFERENCES
klausa saat mereferensikan tabel penerbangan, dan tambahkan
FOREIGN KEY (FlightID, FlightDate) REFERENCES Flight (FlightID, FlightDate)
Dengan cara yang Anda miliki dalam beberapa definisi tabel lainnya.