COPY data and referential triggers ...
Just a sanity check -- data fed into pg using the
COPY tablename (col1, col2) FROM stdin;
... data
\.
Does not cause referential triggers to fire (i.e. foreign keys), right?
It seems to operate this way, yet I didn't see this mentioned
explicitly in the SQL reference manual page on the COPY command.
----
James Robinson
Socialserve.com
James Robinson <jlrobins@socialserve.com> writes:
Just a sanity check -- data fed into pg using the
COPY tablename (col1, col2) FROM stdin;
... data
\.
Does not cause referential triggers to fire (i.e. foreign keys), right?
Sure it does.
regression=# create table t1 (f1 int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "t1_pkey" for table "t1"
CREATE TABLE
regression=# create table t2 (f1 int references t1, f2 int);
CREATE TABLE
regression=# copy t2(f1,f2) from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
3 4
\.
ERROR: insert or update on table "t2" violates foreign key constraint "$1"
DETAIL: Key (f1)=(3) is not present in table "t1".
regards, tom lane