On Tue, 10 Oct 2006, Tom Lane wrote:

"Sergiy Vyshnevetskiy" <[EMAIL PROTECTED]> writes:
Convert server messages to database charset.

This has been discussed before:
http://archives.postgresql.org/pgsql-patches/2005-08/msg00245.php

The magic pg_enc2iananame_tbl[] you reference in your patch does not exist,
and if it did exist it wouldn't work on all platforms, since encoding
names aren't sufficiently well standardized :-(

It's not magic, it's from ICU patch. Want me to send you a copy? :)

This, however, uncovers another bug: PostgreSQL dumps the messages into
stderr/syslog as-is, without converting database data from database charset
to charset from LC_MESSAGES.

I'm quite unconvinced that that's a bug.  If we tried to do a conversion
here, it would be trivial to set up denials of service for logging ---
just include a character in a comment in your SQL command that cannot be
converted to the LC_MESSAGES character set.

They have to be printed as escape sequences. I think that dumping raw string data in log without converting them to printable form can be used to mess up log viewer at least. (At most this can be a security breach.)

Having row multibyte characters mixed with characters in LC_CTYPE in the log makes it less useful. Syslog would mangle them further to a complete unrecognition.

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to