From: | Rob Northcott <Rob(dot)Northcott(at)compilator(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: How to add new Collation language |
Date: | 2017-09-14 16:07:37 |
Message-ID: | AM3PR08MB0610BD181A54F22C2A548A6A9B6F0@AM3PR08MB0610.eurprd08.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
-----Original Message-----
From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
Sent: 14 September 2017 14:53
To: Rob Northcott <Rob(dot)Northcott(at)compilator(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] How to add new Collation language
Rob Northcott <Rob(dot)Northcott(at)compilator(dot)com> writes:
> From: rob stone [mailto:floriparob(at)gmail(dot)com]
>> On Thu, 2017-09-14 at 11:30 +0000, Rob Northcott wrote:
>>> How can I add a collation language to a Postgres server?
>>> Specifically, I want to create a new database with collation of
>>> English_United Kingdom.1252 but the only options are C, Posix and
>>> United States.
>>> This is Postgres 9.6 on Windows server 2012. The server is Swedish,
>>> and my user login is set to UK.
>> initdb --locale=en_GB.UTF-8 . . . plus other init options as required.
> Thanks for the reply. When I try that I get the message "invalid locale name"
>>en_GB.UTF-8 is a Unix-style locale name, it won't help you on Windows.
>>You need something like "English_United Kingdom.1252" on Windows.
>>I'm not sure what you mean by "the only options are" ... are you using some GUI that >>only offers those options? If so, this is a shortcoming in that GUI. Postgres itself >>should take whatever ctype/collation settings the underlying system accepts. You >>could try manually invoking initdb as above, but with a Windows-style locale name. >>Or if you want to make a new database within an existing installation, use CREATE >>DATABASE directly, setting the LC_COLLATE and LC_CTYPE options (and selecting a >>matching ENCODING).
>> regards, tom lane
Thanks Tom, using initdb to create a new data directory (cluster?) worked, using "English_United..." rather than en_GB as you suggested.
I've never had to do that before - always just used the default Postgres installation and selected "English United Kingdom" during the install. That didn't seem to work on this server - it insisted on being United States. Anyway, learning how to use the command line is no bad thing.
Thanks for your help.
Rob
From | Date | Subject | |
---|---|---|---|
Next Message | Rafal Pietrak | 2017-09-14 17:11:19 | Re: looking for a globally unique row ID |
Previous Message | Steve Atkins | 2017-09-14 16:03:30 | Re: looking for a globally unique row ID |