Re: Determining client_encoding from client locale - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Determining client_encoding from client locale
Date
Msg-id 4A39D266.4030707@enterprisedb.com
Whole thread Raw
In response to Re: Determining client_encoding from client locale  (Itagaki Takahiro <itagaki.takahiro@oss.ntt.co.jp>)
List pgsql-hackers
Itagaki Takahiro wrote:
> Peter Eisentraut <peter_e@gmx.net> wrote:
> 
>> On Wednesday 17 June 2009 14:29:26 Heikki Linnakangas wrote:
>>> We currently require that you set client_encoding correctly, or you get
>>> garbage in psql and any other tool using libpq. How about setting
>>> client_encoding automatically to match the client's locale? We have
>>> pg_get_encoding_from_locale() function that we can use to extract the
>>> encoding from LC_CTYPE. We could call that in libpq.
> 
> +1 for psql, but -1 for libpq.
> 
> I think automatic determination is good for psql because it is
> an end-user application, but is not always acceptable for middlewares.
> 
> Please imagine:
> 
>     Web Server <- Application Server <- Database Server
>     ----------    ------------------    ---------------
>       UTF-8         Non-UTF8 env.            UTF-8
> 
> The Application Server might run on non-UTF8 environment
> but it should send outputs in UTF8 encoding. Automatic
> encoding determination might break existing services.

As soon as someone creates a database in non-UTF-8 encoding in the 
cluster, it would stop working anyway. Setting client_encoding=utf8 
manually would be a lot safer in a situation like that.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: machine-readable explain output v2
Next
From: Simon Riggs
Date:
Subject: Re: Cannot use all four trigger events at once