Re: Copying entire tsv record (from file) into a single field

From: Allan Kamau <kamauallan(at)gmail(dot)com>
To: Postgres General Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Copying entire tsv record (from file) into a single field
Date: 2010-12-07 11:37:18
Message-ID: AANLkTimOMLXzCZP+m4JT-0S9PVPXu7UVyon4O8bp7ig0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Dec 7, 2010 at 2:14 PM, Raymond O'Donnell <rod(at)iol(dot)ie> wrote:
> On 07/12/2010 11:07, Allan Kamau wrote:
>>
>> I would like to use copy to populate a single row in table with data
>> from a tsv file for further transformations.
>> I seem not find a way to stop copy from seeing that the tsv file does
>> indeed contain fields.
>> This my current query
>>
>>                COPY raw_data
>>                (
>>                raw_record
>>                )
>>                FROM
>>                '/tmp/some.tsv'
>>                ;
>
> You can specify the character which COPY sees as the field delimiter to be
> something other than a tab - maybe a comma, if there are no commas in your
> input:
>
>  copy raw_data(raw_record)
>  from '/tmp/some.tsv'
>  with delimiter ',';
>
> Would that do the job?
>
> Ray.
>
> --
> Raymond O'Donnell :: Galway :: Ireland
> rod(at)iol(dot)ie
>

There are commas in the input, and there is no guarantee that any one
single character will not appear in the input. I could appoint a
character such as the comma as suggested then use sed to change all
commas in the incoming data to maybe '|' (pipe character) but this it
may change the semantics of the data if the incoming data does contain
pipe characters delimiting comma separated lists of values all in a
given logical field.

Allan.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vincent Veyron 2010-12-07 11:48:48 Re: COPY FROM and INSERT INTO rules
Previous Message Vincent Veyron 2010-12-07 11:20:16 Re: Implement online database using Postgresql