Re: No quotes in output of "psql \copy CSV"

Поиск
Список
Период
Сортировка
От Arnaud Lesauvage
Тема Re: No quotes in output of "psql \copy CSV"
Дата
Msg-id 4C29EDE3.9080000@codata.eu
обсуждение исходный текст
Ответ на Re: No quotes in output of "psql \copy CSV"  (Sam Mason <sam@samason.me.uk>)
Список pgsql-general
Le 29/06/2010 14:40, Sam Mason a écrit :
> On Tue, Jun 29, 2010 at 02:24:00PM +0200, Arnaud Lesauvage wrote:
>>  I'd like to generate CSV files from the output of a query.
>>  I can't get the srings in the output to be quoted though. I thought that
>>  this was the default for CSV, and even adding the "QUOTE" parameter does
>>  not help :
>>
>>  postgres=# \copy (SELECT 1, 'test', 'foo', 'bar', TRUE, FALSE) TO stdout
>>  CSV QUOTE '"' DELIMITER ','
>>  1,test,foo,bar,t,f
>>
>>  What am I missing here ?
>
> By default values are only quoted when they need to be, i.e. if they
> contain a quote, comma and a few other characters.  This is very common
> behavior and all the programs I've tried to use the resulting files with
> have been fine with it.
>
> If you really want all values to be quoted you can include the "FORCE
> QUOTE" option, i.e:
>
>    copy (SELECT 1 AS a, 'a' AS b) TO stdout WITH CSV HEADER FORCE QUOTE a,b;


Oh indeed !
As a matter of fact, I don't even need to force the output to be quoted.
I just expected it to be so I thought there was an error.
But after trying with a string containing a comma, I do indeed so that
the string is quoted.

Thanks a lot Sam.

Regards
--
Arnaud Lesauvage


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

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: alter table schema, default sequences stay the same
Следующее
От: "Igor Neyman"
Дата:
Сообщение: Re: postgres user password: Log on failure