Re: syntax of \copy - Mailing list pgsql-novice

From Bruce Momjian
Subject Re: syntax of \copy
Date
Msg-id 200910092037.n99KbCK19795@momjian.us
Whole thread Raw
In response to syntax of \copy  (richard terry <rterry@pacific.net.au>)
List pgsql-novice
richard terry wrote:
> Hi,
>
> I'm trying at the command line (linux) to import a csv file with this sort of
> format
>
> "A", "name","etc","1"
>
> If I simply eliminate the quotes in a text editor, replace the commas with |
> then this snytax works
>
> If I have a file say import.sql containing this line:
>
> \copy schema.tablename from '/tmp/myfile.CSV' delimiter ','  NULL AS ''
>
> and at the command line type:
>
> psql mydb -f import.sql
>
> then it works fine.
>
> But I want to be able to just use the file 'as is', ie with its quotes so I
> don't have to manually do a global replace.
>
> I've pored over the docs but always find it difficult to interpret them, it
> mentions a CSV mode but I can't figure out how to use it.
>
> The internet is equally unrewarding as whilst there are trillions of
> references as to \copy etc, no-one seems to give a concrete example when
> importing a csv file that has been exported with quotes,

I was able to load your file using the following command:

    test=> create table test(c1 text, c2 text, c3 text, c4 text);
    CREATE TABLE

    test=> \copy test from '/rtmp/x' with csv

    test=> select * from test;
     c1 |  c2   | c3  | c4
    ----+-------+-----+----
     A  |  name | etc | 1
    (1 row)

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

  + If your life is a hard drive, Christ can be your backup. +

pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: Functions which use an argument to decide which table to read
Next
From: Susan M Farley
Date:
Subject: How to run queries without double quotes on tables and columns