Re: encoding confusion with \copy command - Mailing list pgsql-general

From Adrian Klaver
Subject Re: encoding confusion with \copy command
Date
Msg-id 54198E3D.9000709@aklaver.com
Whole thread Raw
In response to encoding confusion with \copy command  (Martin Waite <waite.134@gmail.com>)
List pgsql-general
On 09/17/2014 03:03 AM, Martin Waite wrote:
> Hi,
>
> I have a postgresql 7.4 server and client on Centos 6.4.  The database
> server is using UTF-8 encoding.

First I think we need to establish what version of Postgres you using.
Are you really using 7.4?

>
> I have been exploring the use of the \copy command for importing CSV
> data generated by SQL Server 2008.  SQL Server 2008 export tool does not
> escape quotes that are in the content of fields, and so it is useful to
> be able to specify obscure characters in the quote option in the \copy
> command to work around this issue.
>
> When I run the following commands in psql, I am surprised that QUOTE is
> limited to characters in the range 0x01 - 0x7f, and that UTF8 is
> mentioned in the error message if characters outside the range are chosen:
>
>     \encoding WIN1252
>     \copy yuml from '/tmp/yuml.csv'  WITH CSV HEADER ENCODING 'WIN1252'
>     QUOTE as E'\xff';
>     ERROR:  invalid byte sequence for encoding "UTF8": 0xff


If you are actually on Postgres 7.4 the above would not be a viable command.

>
>
>
> I thought that if the client (psql) is WIN1252, and the CSV file is
> specified as WIN1252, then I could specify any valid WIN1252 character
> as the quote character.   Instead, I am limited to the range of
> characters that can be encoded as a single byte in UTF-8. Actually, 0x00
> is not accepted either, so the range is 0x01 - 0x7F.
>
> Is this a bug or expected behaviour ?
>
> Is it the case that the server does the actual CSV parsing, and that
> given that my server is in UTF8, I am therefore limited to single-byte
> UTF8 characters ?

Actually depending on version you may be limited to ASCII.

>
> regards,
> Martin


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Martin Waite
Date:
Subject: Re: encoding confusion with \copy command
Next
From: Dev Kumkar
Date:
Subject: Re: [SQL] pg_multixact issues