Re: psql -f COPY from STDIN - Mailing list pgsql-sql

From Tom Lane
Subject Re: psql -f COPY from STDIN
Date
Msg-id 8452.1289618531@sss.pgh.pa.us
Whole thread Raw
In response to psql -f COPY from STDIN  (Tarlika Elisabeth Schmitz <postgresql2@numerixtechnology.de>)
Responses Re: psql -f COPY from STDIN  (Tarlika Elisabeth Schmitz <postgresql2@numerixtechnology.de>)
List pgsql-sql
Tarlika Elisabeth Schmitz <postgresql2@numerixtechnology.de> writes:
> The following command works fine when pasing it to psql via the -c
> option:

> cat event.csv | \
> psql -c "COPY (event_id, event_name) FROM STDIN DELIMITER AS ',' NULL
> AS ''"

> When executed from a file via -f, it does nothing (no error messages
> either):

> event.sql:
> COPY (event_id, event_name) FROM STDIN DELIMITER AS ',' NULL AS ''

> cat event.csv | psql -f event.sql

I believe that psql's interpretation of "stdin" when reading from a file
is that the COPY data is to come from that same file (look at the script
produced by pg_dump for an example).  So it reads to the end of the
file, which is right away --- otherwise you'd get some incorrect-data
errors.  The data sourced from the cat command is never noticed at all.

I think you can get the effect you're after using \copy ... from pstdin.
See the psql man page.
        regards, tom lane


pgsql-sql by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: psql -f COPY from STDIN
Next
From: Tarlika Elisabeth Schmitz
Date:
Subject: Re: psql -f COPY from STDIN