Re: Default Locale in initdb

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Default Locale in initdb
Date: 2004-06-02 18:54:48
Message-ID: 40BE2278.80903@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Paul Ramsey wrote:

> Just because it is not new does not mean that it is good.

Sure. I've been caught by it too. Once. :-)

>
> When this new behavior was introduced, and I migrated our databases to
> the new PgSQL version (dump/restore), the locale of all my databases
> were silently changed from C to US_en. This broke one application in a
> very subtle way because of slightly different sort behavior in the
> different locale. Tracking it down was quite tricky.
>
> PgSQL was just a little too helpful in this case.

It doesn't happen silently - initdb tells you what it is doing.

Ignoring the current environment and using a default value of "C" would
be a very simple change to make, if that's what people want.

cheers

andrew

>
> Andrew Dunstan wrote:
>
>> pgsql(at)mohawksoft(dot)com wrote:
>>
>>> Is it me or has the default locale of created databases change at
>>> some point?
>>>
>>> Currently, on Linux, if one does not specify a locale, the locale is
>>> taken
>>> from the system environment and it is not "C."
>>>
>>> While I can both sides of a discussion, I think that choosing a
>>> "locale"
>>> without one being specified is a bad idea, even if it is the locale
>>> of the
>>> machine. The reason why it is a bad idea is that certain features of
>>> the
>>> database which only work correctly with a locale of "C" will not
>>> work by
>>> default.
>>
>>
>> This is not new behaviour.
>>
>> (Why are you the only person who posts here who is nameless?)
>>
>> cheers
>>
>> andrew
>
>
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Marty Scholes 2004-06-02 19:38:47 Indices pinned in pageable RAM?
Previous Message Stephan Szabo 2004-06-02 18:35:02 Re: Default Locale in initdb