"Sam Wong" <sam@hellosam.net> writes:
> Then when I try to insert the following into B:
> A,4
> it will say
> duplicate key value violates unique constraint "B_primary_column_pkey".
Works for me:
regression=# create table a (A_primary_col int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "a_pkey" for table "a"
CREATE TABLE
regression=# insert into a values (1),(2),(3);
INSERT 0 3
regression=# create table b (B_primary_col text primary key, a_reference int references a on delete cascade);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "b_pkey" for table "b"
CREATE TABLE
regression=# insert into b values('A',1),('B',2),('C',3);
INSERT 0 3
regression=# DELETE FROM A;
DELETE 3
regression=# select * from a;
a_primary_col
---------------
(0 rows)
regression=# select * from b;
b_primary_col | a_reference
---------------+-------------
(0 rows)
regression=# insert into a values (4);
INSERT 0 1
regression=# insert into b values('A',4);
INSERT 0 1
I suspect a mistake on your part. If you can actually reproduce this
problem, please show an exact test case, not hand-waving.
regards, tom lane