2018-01-15 18:40 GMT+01:00 Alexander Korotkov <a.korot...@postgrespro.ru>:
> Hi! > > On Mon, Dec 4, 2017 at 6:42 PM, Pavel Stehule <pavel.steh...@gmail.com> > wrote: > >> 2017-12-04 9:29 GMT+01:00 Alexander Korotkov <a.korot...@postgrespro.ru>: >> >>> On Mon, Dec 4, 2017 at 11:21 AM, Alexander Korotkov < >>> a.korot...@postgrespro.ru> wrote: >>> >>>> The problem is that it's hard to read arbitrary formatted psql output >>>> from external program (not just gnuplot, but even especially written >>>> script). I made my scripts read few variations, but it doesn't look >>>> feasible to read all the combinations. For sure, it's possible to set >>>> format options inside macro, but then it would affect psql format options >>>> after execution. >>>> >>>> This is why I think only one \graw option is just fine, because it >>>> produces stable machine-readable output. >>>> >>> >>> Oh, I just get that in current state of \graw doesn't produce good >>> machine-readable output. >>> >>> # select '|', '|' \graw >>> ||| >>> >>> Column separator is character which can occur in values, and values >>> aren't escaped. Thus, reader can't correctly divide values between columns >>> in all the cases. So, I would rather like to see \graw to output in csv >>> format with proper escaping. >>> >> >> current \graw implementation is pretty minimalistic >> >> It is interesting topic - the client side csv support. >> >> It can simplify lot of things >> > > So, I see there is no arguing yet that exporting dataset from psql into a > pipe in machine-readable format (presumably csv) would be an useful feature. > Are you going to revise your patch that way during this commitfest? > I'm marking this patch as "waiting for author" for now. > I hope so lot of people invite CSV support on client side. Some like: psql -c "SELECT * FROM pg_class" --csv --header > pg_class.csv Client side CSV formatting is significantly better idea. Unfortunately there are not clean how to do it. The basic question is: can we have 2 codes for CSV - server side/client side? If yes, then implementation should be trivial. If not, then I have not any idea. We are able to generate html/tex/markdown formats on client side. CSV is more primitive, but much more important data format, so it should not be a problem. But I remember some objections related to code duplication. Regards Pavel > > ------ > Alexander Korotkov > Postgres Professional: http://www.postgrespro.com > The Russian Postgres Company >