Thread: locale and encoding
Hello,
I´m looking for information about "locale" and character set encoding. I searched the mailing lists and found many, many information, mainly issues about performance.
I´m worried about our cluster locale and database enconding setting. They´re pt_BR and SQL_ASCII respectively. I would like to change them to C and LATIN1 but I don´t know what might the side effects of that be?
As I could understand LOCALE is used to determine the order of characters and it can´t be changed because indexes depend on it.
Thanks in advance!
Henrique
Yahoo! Messenger com voz: PROMOÇÃO VOCÊ PODE LEVAR UMA VIAGEM NA CONVERSA. Participe!
On Sat, Sep 10, 2005 at 09:37:32AM +0000, Henrique Friedrichs wrote: > I´m worried about our cluster locale and database enconding setting. > They´re pt_BR and SQL_ASCII respectively. I would like to change them > to C and LATIN1 but I don´t know what might the side effects of that > be? You can't change the collate or encoding once the database has been created. You need to dump the db reload it. Encoding is per-database, LC_COLLATE is per-cluster. Note that encoding and locale have not much to do with eachother, except they better be compatable otherwise the sorting will be wrong. Locale C means basically, "compare binary char values, we don't care what they mean", which may or may not be what you want. Encoding Latin1 means you're limited to those characters, in particular you'll never be able to store the Euro symbol for example. > As I could understand LOCALE is used to determine the order of > characters and it can´t be changed because indexes depend on it. There is work going in this area but it's not there yet. For now this is true. Hope this helps, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a > tool for doing 5% of the work and then sitting around waiting for someone > else to do the other 95% so you can sue them.
Attachment
I would like to change to C because it will give us better performance. As it is per-cluster I would have to initib again but what will happen when the dump will be reloaded?
Some characters that we have today in the SQL_ASCII database probably can not be loaded in a LATIN1 database. Am I right?
Martijn van Oosterhout <kleptog@svana.org> escreveu:
On Sat, Sep 10, 2005 at 09:37:32AM +0000, Henrique Friedrichs wrote:
> I´m worried about our cluster locale and database enconding setting.
> They´re pt_BR and SQL_ASCII respectively. I would like to change them
> to C and LATIN1 but I don´t know what might the side effects of that
> be?
You can't change the collate or encoding once the database has been
created. You need to dump the db reload it. Encoding is per-database,
LC_COLLATE is per-cluster. Note that encoding and locale have not much
to do with eachother, except they better be compatable otherwise the
sorting will be wrong.
Locale C means basically, "compare binary char values, we don't care
what they mean", which may or may not be what you want. Encoding Latin1
means you're limited to those characters, in particular you'll never be
able to store the Euro symb ol for example.
> As I could understand LOCALE is used to determine the order of
> characters and it can´t be changed because indexes depend on it.
There is work going in this area but it's not there yet. For now this
is true.
Hope this helps,
--
Martijn van Oosterhout http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.
__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger
http://br.download.yahoo.com/messenger/