From: | Shay Rojansky <roji(at)roji(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Encoding of early PG messages |
Date: | 2015-08-01 09:47:31 |
Message-ID: | CADT4RqDiASzLq7NRgpvb0D8TXWgcDa19uTuCS68zv18Ye-iyvg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Oh sorry, I think I misunderstood your suggestion - setting lc_messages in
the startup packet wouldn't work any more than setting client_encoding,
would it. So any solution here would be on the database/backend side, and
so irrelevant for a general-purpose driver...
On Fri, Jul 31, 2015 at 4:28 PM, Shay Rojansky <roji(at)roji(dot)org> wrote:
> Thanks for the suggestions Tom.
>
> As I'm developing a general-purpose driver I can't do anything in
> PostgreSQL config, but it's a good workaround suggestion for users who
> encounter this error.
>
> Sending lc_messages in the startup packet could work, but if I understand
> correctly that setting combines both encoding and language. I guess I can
> look at the user's locale preference on the client machine, try to
> translate that into a PostgreSQL language/encoding and send that in
> lc_messages - that seems like it might work.
>
> Shay
>
>
> On Fri, Jul 31, 2015 at 3:46 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>> Shay Rojansky <roji(at)roji(dot)org> writes:
>> > Developing Npgsql I've encountered the problem described in
>> >
>> http://www.postgresql.org/message-id/20081223212414.GD3894@merkur.hilbert.loc
>> :
>> > a German installation of PostgreSQL seems to respond to an incorrect
>> > password with a non-UTF8 encoding of the error messages, even if the
>> > startup message contains client_encoding=UTF8.
>>
>> I wouldn't hold your breath waiting for that to change.
>>
>> A possible workaround is to run the postmaster with lc_messages=C and
>> then switch to your desired message language per-session. It would
>> certainly work to send lc_messages along with client_encoding in the
>> startup packet; or possibly you could set those settings as per-database
>> or per-role settings to avoid needing to teach the application code
>> about it. This would mean that bad-password and similar errors would
>> come out in English, but at least they'd be validly encoded ...
>>
>> regards, tom lane
>>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Seltenreich | 2015-08-01 09:51:17 | Re: [sqlsmith] Failed assertion in joinrels.c |
Previous Message | Simon Riggs | 2015-08-01 07:42:03 | Re: 64-bit XIDs again |