Re: COPY with default values? - Mailing list pgsql-general

From Per-Olof Pettersson
Subject Re: COPY with default values?
Date
Msg-id 3B11F0E6.3040205@peope.net
Whole thread Raw
In response to COPY with default values?  (Jeff Boes <jboes@nexcerpt.com>)
List pgsql-general
Jeff Boes wrote:

> 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...
>
>
>

If you just want a line-number for the records you could always on UN*X
do "nl file > newfile".

Best regards
Per-Olof Pettersson


pgsql-general by date:

Previous
From: Kémeri Lajos
Date:
Subject: FOR SELECT
Next
From: "omid omoomi"
Date:
Subject: Maximum time execution time error