Foreign keys are a part of the table structure, so you'd allways put them in a create-time.
You can ofcourse create the keys later if you wish.
You sometimes have to, because a foreign-key constraint can only be created if all fields that the key applies to exist.
Sample of a foreign key situation:
Clients table:
userid SERIAL PK
name char(40)
Orders trable:
orderid SERIAL PK
userid INTEGER foreign key referencing Clients
orderdate DATE
In this case it's impossible to create orders for non-existing clients,
and it's impossible to delete clients that still have orders.