By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,541 Members | 1,427 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,541 IT Pros & Developers. It's quick & easy.

COPY data and referential triggers ...

P: n/a
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
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Nov 23 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
James Robinson <jl******@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

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 23 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.