Create a foreign key to a table that doesn't exist in postgres
Not possible. The source and target of a foreign key constraint must exist when you create the foreign key. 

The usual solution to that problem is, to have all foreign keys in a separate script that is run after all tables have been created. Not together with each table.