COPY with default values?

From: Jeff Boes <jboes(at)nexcerpt(dot)com>
To: Postgres-general <pgsql-general(at)postgresql(dot)org>
Subject: COPY with default values?
Date: 2001-05-25 14:06:37
Message-ID: 20010525100637.4d410e3c.jboes@nexcerpt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-general

Let's say I have a table of keywords, with a SERIAL primary key.

CREATE TABLE keywords (
key_id SERIAL PRIMARY KEY,
key_text TEXT
);

Now I would like to initialize this table with a COPY statement, but
without supplying values for the primary key. In other words, how can I
use COPY to perform the same function as

INSERT INTO keywords (keyword_text) VALUES ('foo');
INSERT INTO keywords (keyword_text) VALUES ('bar');
...

I have tried

COPY keywords FROM stdin USING DELIMITERS '|';
|foo
|bar
...

and also

0|foo
0|bar

and even

\N|foo
\N|bar

I even tried creating a view on keywords that has only keyword_text, and
copying into THAT--no luck. Then I wrote a rule to replace inserts on the
view with inserts on the table, but apparently COPY doesn't trigger INSERT
rules. Grumble...

--
Jeff Boes vox 616.226.9550
Database Engineer fax 616.349.9076
Nexcerpt, Inc. jboes(at)nexcerpt(dot)com

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2001-05-25 14:33:41 Re: COPY with default values?
Previous Message Thomas Lockhart 2001-05-25 13:44:47 Re: DATE_PART() BUG? We have an SQL statement that is giving wrong output.

Browse pgsql-general by date

  From Date Subject
Next Message Len Morgan 2001-05-25 14:24:34 Re: COPY with default values?
Previous Message Jeff Boes 2001-05-25 13:29:21 pl-perl setup?