Re: psql copy from through bash

Поиск
Список
Период
Сортировка
От Jerry Sievers
Тема Re: psql copy from through bash
Дата
Msg-id 87bocv1nhe.fsf@comcast.net
обсуждение исходный текст
Ответ на psql copy from through bash  (Kirk Wythers <kwythers@umn.edu>)
Список pgsql-general
Kirk Wythers <kwythers@umn.edu> writes:

> Can anyone see what I'm misisng? I am trying to run a psql "copy from" command through a bash script to load a buch
ofcdv files into the same table. I'm getting an error about the file "infile" not existing? 
>
> #!/bin/sh
>
> for infile in /path_to_files/*.csv
> do
>    cat infile | psql dbname -c "\copy table_name FROM stdin with delimiter as ',' NULL AS 'NA' CSV HEADER"
> done

Well, I don't know what else could be wrong but suggest you get rid of
the backslash as in \copy and just say COPY which is the SQL command.
\copy is a psql macro and I'm not sure it's appropriate here.

And you win the "useless use of cat award" here too.

psql ... <infile

Of course one good reason for preferring cat is that you'll never
type > by mistake instead of < and clobber your data.  Er, some shells
have a no-clobber option though.

HTH
> Thanks in advance
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net
p: 312.241.7800


В списке pgsql-general по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: psql copy from through bash
Следующее
От: "Sahagian, David"
Дата:
Сообщение: changes "during checkpointing"