Если я вас правильно понимаю, вы пытаетесь:
t=# create table z(i int primary key);
CREATE TABLE
t=# insert into z values (1);
INSERT 0 1
t=# create table xy(i int);
CREATE TABLE
t=# insert into xy values(1),(null);
INSERT 0 2
t=# alter table xy add constraint fk foreign key (i) references z(i);
ALTER TABLE
t=# select * from xy;
i
---
1
(2 rows)
И у вас, вероятно, было такие же сомнения ? ..