postgresql can you have null foreign key
A foreign key containing null values cannot match the values of a parent
key, since a parent key by definition can have no null values. However, a
null foreign key value is always valid, regardless of the value of any of
its non-null parts.