आप पूछते हैं:
हां, जैसा कि आपको यहां प्रलेखित करना चाहिए। :
आप लिखते हैं:
लेकिन ऐसा नहीं है! :) जब आप एक सामान्य INSERT करते हैं, तो आमतौर पर आप SEQUENCE- समर्थित प्राथमिक कुंजी के लिए एक स्पष्ट मान निर्दिष्ट नहीं करते हैं। यदि आपने ऐसा किया, तो आप उन्हीं समस्याओं का सामना करेंगे जो आपको अभी हो रही हैं:
postgres=> create table uh_oh (id serial not null primary key, data char(1));
NOTICE: CREATE TABLE will create implicit sequence "uh_oh_id_seq" for serial column "uh_oh.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "uh_oh_pkey" for table "uh_oh"
CREATE TABLE
postgres=> insert into uh_oh (id, data) values (1, 'x');
INSERT 0 1
postgres=> insert into uh_oh (data) values ('a');
ERROR: duplicate key value violates unique constraint "uh_oh_pkey"
DETAIL: Key (id)=(1) already exists.
आपका COPY कमांड, निश्चित रूप से, एक स्पष्ट id
की आपूर्ति कर रहा है मान, ऊपर दिए गए INSERT उदाहरण की तरह।