toanong
toanong

Reputation: 403

Postgres COPY command with literal delimiter

I was trying to import a CSV file into a PostgreSQL table using the COPY command. The delimiter of the CSV file is comma (,). However, there's also a text field with a comma in the value. For example:

COPY schema.table from '/folder/foo.csv' delimiter ',' CSV header

Here's the content of the foo.csv file:

Name,Description,Age
John,Male\,Tall,30

How to distinguish between the literal comma and the delimiter?

Thanks for your help.

Upvotes: 5

Views: 30141

Answers (1)

Clodoaldo Neto
Clodoaldo Neto

Reputation: 125284

To have the \ to be recognized as a escape character it is necessary to use the text format

COPY schema.table from '/folder/foo.csv' delimiter ',' TEXT

But then it is also necessary to delete the first line as the HEADER option is only valid for the CSV format.

Upvotes: 5

Related Questions