Thread: Why doesn't COPY support the HEADER options for tab-separated output?

Why doesn't COPY support the HEADER options for tab-separated output?

From
Joe Van Dyk
Date:
Mostly just curious, as this is preventing me from using tab-separated output. I'd like there to be a header in my files. I have to use CSVs instead.

Joe

Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Bruce Momjian
Date:
On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
> Mostly just curious, as this is preventing me from using tab-separated output.
> I'd like there to be a header in my files. I have to use CSVs instead.

[ "this" means the fact that COPY doesn't support the HEADER option. ]

We assume CSV is going to be read into a tool that can use the header
names;  delimited files don't usually have a use for those headers.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Merlin Moncure
Date:
On Mon, Aug 12, 2013 at 4:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
> On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
>> Mostly just curious, as this is preventing me from using tab-separated output.
>> I'd like there to be a header in my files. I have to use CSVs instead.
>
> [ "this" means the fact that COPY doesn't support the HEADER option. ]
>
> We assume CSV is going to be read into a tool that can use the header
> names;  delimited files don't usually have a use for those headers.

that's a terrible assumption.

merlin


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Jeff Janes
Date:
On Mon, Aug 12, 2013 at 2:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
> On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
>> Mostly just curious, as this is preventing me from using tab-separated output.
>> I'd like there to be a header in my files. I have to use CSVs instead.
>
> [ "this" means the fact that COPY doesn't support the HEADER option. ]
>
> We assume CSV is going to be read into a tool that can use the header
> names;  delimited files don't usually have a use for those headers.

There have been a few cases where I wanted this, too.  I can see why
implementing it is less important than having it for CSV, but is there
a reason to consider this harmful for TEXT format?  I.e. if someone
submitted a patch, would it be rejected?

Cheers,

Jeff


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Bruce Momjian
Date:
On Mon, Aug 12, 2013 at 03:17:00PM -0700, Jeff Janes wrote:
> On Mon, Aug 12, 2013 at 2:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
> > On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
> >> Mostly just curious, as this is preventing me from using tab-separated output.
> >> I'd like there to be a header in my files. I have to use CSVs instead.
> >
> > [ "this" means the fact that COPY doesn't support the HEADER option. ]
> >
> > We assume CSV is going to be read into a tool that can use the header
> > names;  delimited files don't usually have a use for those headers.
>
> There have been a few cases where I wanted this, too.  I can see why
> implementing it is less important than having it for CSV, but is there
> a reason to consider this harmful for TEXT format?  I.e. if someone
> submitted a patch, would it be rejected?

I see no reason _not_ to support it, so sure, either we add this to 9.4,
or add it to the TODO list.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Adrian Klaver
Date:
On 08/12/2013 02:15 PM, Joe Van Dyk wrote:
> Mostly just curious, as this is preventing me from using tab-separated
> output. I'd like there to be a header in my files. I have to use CSVs
> instead.

I am not sure I understand. Do you mean you are converting the file to
comma separated or that you are using CSV and having to specify the
delimiter as '\t'?
>
> Joe


--
Adrian Klaver
adrian.klaver@gmail.com


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Richard Huxton
Date:
On 12/08/13 23:18, Bruce Momjian wrote:
> On Mon, Aug 12, 2013 at 03:17:00PM -0700, Jeff Janes wrote:
>> On Mon, Aug 12, 2013 at 2:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
>>> On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
>>>> Mostly just curious, as this is preventing me from using tab-separated output.
>>>> I'd like there to be a header in my files. I have to use CSVs instead.

Late to the discussion, but it does work to set format=csv and delimiter
= E'\t' to get tab-separated. Be nice not to have to though.

--
   Richard Huxton
   Archonet Ltd


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Bruce Momjian
Date:
On Thu, Aug 15, 2013 at 09:25:07AM +0100, Richard Huxton wrote:
> On 12/08/13 23:18, Bruce Momjian wrote:
> >On Mon, Aug 12, 2013 at 03:17:00PM -0700, Jeff Janes wrote:
> >>On Mon, Aug 12, 2013 at 2:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
> >>>On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
> >>>>Mostly just curious, as this is preventing me from using tab-separated output.
> >>>>I'd like there to be a header in my files. I have to use CSVs instead.
>
> Late to the discussion, but it does work to set format=csv and
> delimiter = E'\t' to get tab-separated. Be nice not to have to
> though.

I assume that is going to add quotes to a field that contains quotes:

    CREATE TABLE test(x TEXT);
    INSERT INTO test VALUES ('"a"');

    COPY test TO STDOUT WITH (FORMAT CSV, DELIMITER E'\t');
    """a"""

I have added this to the TODO list:

    Allow COPY "text" format to output a header

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


Re: Why doesn't COPY support the HEADER options for tab-separated output?

From
Jeff Janes
Date:
On Thu, Aug 15, 2013 at 1:25 AM, Richard Huxton <dev@archonet.com> wrote:
> On 12/08/13 23:18, Bruce Momjian wrote:
>>
>> On Mon, Aug 12, 2013 at 03:17:00PM -0700, Jeff Janes wrote:
>>>
>>> On Mon, Aug 12, 2013 at 2:21 PM, Bruce Momjian <bruce@momjian.us> wrote:
>>>>
>>>> On Mon, Aug 12, 2013 at 02:15:25PM -0700, Joe Van Dyk wrote:
>>>>>
>>>>> Mostly just curious, as this is preventing me from using tab-separated
>>>>> output.
>>>>> I'd like there to be a header in my files. I have to use CSVs instead.
>
>
> Late to the discussion, but it does work to set format=csv and delimiter =
> E'\t' to get tab-separated. Be nice not to have to though.

Also, the escaping/quoting mechanisms are different.  I often find the
escapes of the TEXT format more convenient than the CSV with E'\t'.

Cheers,

Jeff