Re: [GENERAL] Problem with locales on Linux with 9.3.4
localedef --no-archive, requires additional argument, and then it waits on something. I'm definitely not an locale expert, so I have no idea what it does. There is locale-gen option --no-archive, too, but when I run locale-gen --no-archive, I just get: # locale-gen --no-archive Generating locales... cs_CZ.UTF-8... up-to-date de_DE.UTF-8... up-to-date en_GB.ISO-8859-1... up-to-date en_GB.ISO-8859-15... up-to-date en_GB.UTF-8... up-to-date en_US.UTF-8... up-to-date pl_PL.UTF-8... up-to-date sk_SK.UTF-8... up-to-date Generation complete. And nothing changes. depesz On Sat, Jun 7, 2014 at 2:23 AM, Adrian Klaver adrian.kla...@aklaver.com wrote: On 06/06/2014 04:36 PM, hubert depesz lubaczewski wrote: locale-gen just regenerates the locale - which I have. It's just that PostgreSQL doesn't see it. When I run locale-gen, it just shows that all locales (listed by locale -a) are up to date. On further reading another way would be to use the localedef command with the --no-archive option: http://manpages.ubuntu.com/manpages/precise/man1/localedef.1.html depesz -- Adrian Klaver adrian.kla...@aklaver.com
Re: [GENERAL] Problem with locales on Linux with 9.3.4
On 06/07/2014 08:17 AM, hubert depesz lubaczewski wrote: localedef --no-archive, requires additional argument, and then it waits on something. I'm definitely not an locale expert, so I have no idea what it does. There is locale-gen option --no-archive, too, but when I run locale-gen --no-archive, I just get: # locale-gen --no-archive Generating locales... cs_CZ.UTF-8... up-to-date de_DE.UTF-8... up-to-date en_GB.ISO-8859-1... up-to-date en_GB.ISO-8859-15... up-to-date en_GB.UTF-8... up-to-date en_US.UTF-8... up-to-date pl_PL.UTF-8... up-to-date sk_SK.UTF-8... up-to-date Generation complete. And nothing changes. From here: http://manpages.ubuntu.com/manpages/precise/en/man8/locale-gen.8.html If a list of languages and/or locales is specified as arguments, then locale-gen only generates these particular locales and adds the new ones to /var/lib/locales/supported.d/local. Otherwise it generates all supported locales. So this is the first step. The second is to do: sudo dpkg-reconfigure locales depesz -- Adrian Klaver adrian.kla...@aklaver.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Problem with locales on Linux with 9.3.4
On 06/07/2014 08:17 AM, hubert depesz lubaczewski wrote: localedef --no-archive, requires additional argument, and then it waits on something. I'm definitely not an locale expert, so I have no idea what it does. There is locale-gen option --no-archive, too, but when I run locale-gen --no-archive, I just get: # locale-gen --no-archive Generating locales... cs_CZ.UTF-8... up-to-date de_DE.UTF-8... up-to-date en_GB.ISO-8859-1... up-to-date en_GB.ISO-8859-15... up-to-date en_GB.UTF-8... up-to-date en_US.UTF-8... up-to-date pl_PL.UTF-8... up-to-date sk_SK.UTF-8... up-to-date Generation complete. And nothing changes. Should have been clearer on my previous post, the dpkg command is for use after locale-gen. Missed the part where you ran localedef until I reread the post. localedef is looking for the following, from example in man page: EXAMPLES Compile the locale files for Finnish in the UTF-8 character set and add it to the default locale archive with the name fi_FI.UTF-8: localedef -f UTF-8 -i fi_FI fi_FI.UTF-8 Where: localedef [options] outputpath and outpath with --no-archive is by default /usr/lib/locale otherwise outpath is /usr/lib/locale/locale-archive depesz -- Adrian Klaver adrian.kla...@aklaver.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Problem with locales on Linux with 9.3.4
Seems I now have the locale. Too bad I had to delete the bad databases earlier. Thanks Adrian, depesz On Sat, Jun 7, 2014 at 7:16 PM, Adrian Klaver adrian.kla...@aklaver.com wrote: On 06/07/2014 08:17 AM, hubert depesz lubaczewski wrote: localedef --no-archive, requires additional argument, and then it waits on something. I'm definitely not an locale expert, so I have no idea what it does. There is locale-gen option --no-archive, too, but when I run locale-gen --no-archive, I just get: # locale-gen --no-archive Generating locales... cs_CZ.UTF-8... up-to-date de_DE.UTF-8... up-to-date en_GB.ISO-8859-1... up-to-date en_GB.ISO-8859-15... up-to-date en_GB.UTF-8... up-to-date en_US.UTF-8... up-to-date pl_PL.UTF-8... up-to-date sk_SK.UTF-8... up-to-date Generation complete. And nothing changes. Should have been clearer on my previous post, the dpkg command is for use after locale-gen. Missed the part where you ran localedef until I reread the post. localedef is looking for the following, from example in man page: EXAMPLES Compile the locale files for Finnish in the UTF-8 character set and add it to the default locale archive with the name fi_FI.UTF-8: localedef -f UTF-8 -i fi_FI fi_FI.UTF-8 Where: localedef [options] outputpath and outpath with --no-archive is by default /usr/lib/locale otherwise outpath is /usr/lib/locale/locale-archive depesz -- Adrian Klaver adrian.kla...@aklaver.com
Re: [GENERAL] Problem with locales on Linux with 9.3.4
On 06/07/2014 12:43 PM, hubert depesz lubaczewski wrote: Seems I now have the locale. Too bad I had to delete the bad databases earlier. So, just for completeness what worked: locale-gen sudo dpkg-reconfigure locales or localedef ? Thanks Adrian, depesz -- Adrian Klaver adrian.kla...@aklaver.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Problem with locales on Linux with 9.3.4
localedef. depesz On Sat, Jun 7, 2014 at 9:57 PM, Adrian Klaver adrian.kla...@aklaver.com wrote: On 06/07/2014 12:43 PM, hubert depesz lubaczewski wrote: Seems I now have the locale. Too bad I had to delete the bad databases earlier. So, just for completeness what worked: locale-gen sudo dpkg-reconfigure locales or localedef ? Thanks Adrian, depesz -- Adrian Klaver adrian.kla...@aklaver.com
[GENERAL] Problem with locales on Linux with 9.3.4
Hi, I'm running Pg 9.3.4 on Ubuntu Linux 12.04/Precise. Pg is installed from PGDG repo (http://apt.postgresql.org/pub/repos/apt/). It somehow got database created in locale that it can't now open: $ psql psql: FATAL: database locale is incompatible with operating system DETAIL: The database was initialized with LC_COLLATE en_GB.UTF-8, which is not recognized by setlocale(). HINT: Recreate the database with another locale or install the missing locale. When I connect to another database, I can see that: List of databases Name | Owner | Encoding | Collate |Ctype | Access privileges -++--+-+-+--- xxx | xx | UTF8 | pl_PL.UTF-8 | pl_PL.UTF-8 | postgres| postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | template0 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres + || | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres + || | | | postgres=CTc/postgres (4 rows) Locale settings in Pg: # select name, setting from pg_settings where name ~ '^lc_'; name | setting -+- lc_collate | pl_PL.UTF-8 lc_ctype| pl_PL.UTF-8 lc_messages | en_US.UTF-8 lc_monetary | en_US.UTF-8 lc_numeric | en_US.UTF-8 lc_time | en_US.UTF-8 (6 rows) The thing is that system knows about en_GB: $ locale -a C cs_CZ.utf8 C.UTF-8 de_DE.utf8 en_GB en_GB.iso88591 en_GB.iso885915 en_GB.utf8 en_US.utf8 pl_PL.utf8 POSIX sk_SK.utf8 $ LC_ALL=en_GB.UTF-8 locale LANG=en_GB.UTF-8 LANGUAGE= LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 LC_PAPER=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 I straced Pg, and it showed: 17:18:42.386260 open(/usr/lib/locale/en_GB.UTF-8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.14 17:18:42.386299 open(/usr/lib/locale/en_GB.utf8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.14 17:18:42.386337 open(/usr/lib/locale/en_GB/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.14 17:18:42.386374 open(/usr/lib/locale/en.UTF-8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.16 17:18:42.386418 open(/usr/lib/locale/en.utf8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.14 17:18:42.386455 open(/usr/lib/locale/en/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.15 17:18:42.386492 open(/usr/share/locale-langpack/en_GB.UTF-8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.15 17:18:42.386530 open(/usr/share/locale-langpack/en_GB.utf8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.13 17:18:42.386562 open(/usr/share/locale-langpack/en_GB/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.11 17:18:42.386591 open(/usr/share/locale-langpack/en.UTF-8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.08 17:18:42.386618 open(/usr/share/locale-langpack/en.utf8/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.09 17:18:42.386645 open(/usr/share/locale-langpack/en/LC_COLLATE, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 0.08 17:18:42.386723 write(2, 2014-06-06 15:18:42 GMT FATAL: database locale is incompatible with operating system\n2014-06-06 15:18:42 GMT DETAIL: The database was initialized with LC_COLLATE \en_GB.UTF-8\, which is not recognized by setlocale().\n2014-06-06 15:18:42 GMT HINT: Recre..., 324) = 324 0.23 In /usr/lib/locale, I have only: 1. Directory C.UTF-8 2. File: locale-archive It looks like if system locale was packed into this archive, but Pg for some reason cannot open it, and required locale files to be separately in subdirectories. Is it possible? Anyone encountered something like this before? If so - what can be done? I didn't found any way to unpack the archive with locales. depesz
Re: [GENERAL] Problem with locales on Linux with 9.3.4
On 06/06/2014 09:05 AM, hubert depesz lubaczewski wrote: Hi, I'm running Pg 9.3.4 on Ubuntu Linux 12.04/Precise. Pg is installed from PGDG repo (http://apt.postgresql.org/pub/repos/apt/). It somehow got database created in locale that it can't now open: $ psql psql: FATAL: database locale is incompatible with operating system DETAIL: The database was initialized with LC_COLLATE en_GB.UTF-8, which is not recognized by setlocale(). HINT: Recreate the database with another locale or install the missing locale. The thing is that system knows about en_GB: Is it possible? Anyone encountered something like this before? If so - what can be done? I didn't found any way to unpack the archive with locales. Seems this is a new Ubuntu thing: http://manpages.ubuntu.com/manpages/precise/man8/locale-gen.8.html and an example: http://backdrift.org/fixing-no-such-file-or-directory-locale-errors depesz -- Adrian Klaver adrian.kla...@aklaver.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Problem with locales on Linux with 9.3.4
locale-gen just regenerates the locale - which I have. It's just that PostgreSQL doesn't see it. When I run locale-gen, it just shows that all locales (listed by locale -a) are up to date. depesz On Fri, Jun 6, 2014 at 10:04 PM, Adrian Klaver adrian.kla...@aklaver.com wrote: On 06/06/2014 09:05 AM, hubert depesz lubaczewski wrote: Hi, I'm running Pg 9.3.4 on Ubuntu Linux 12.04/Precise. Pg is installed from PGDG repo (http://apt.postgresql.org/pub/repos/apt/). It somehow got database created in locale that it can't now open: $ psql psql: FATAL: database locale is incompatible with operating system DETAIL: The database was initialized with LC_COLLATE en_GB.UTF-8, which is not recognized by setlocale(). HINT: Recreate the database with another locale or install the missing locale. The thing is that system knows about en_GB: Is it possible? Anyone encountered something like this before? If so - what can be done? I didn't found any way to unpack the archive with locales. Seems this is a new Ubuntu thing: http://manpages.ubuntu.com/manpages/precise/man8/locale-gen.8.html and an example: http://backdrift.org/fixing-no-such-file-or-directory-locale-errors depesz -- Adrian Klaver adrian.kla...@aklaver.com
Re: [GENERAL] Problem with locales on Linux with 9.3.4
On 06/06/2014 04:36 PM, hubert depesz lubaczewski wrote: locale-gen just regenerates the locale - which I have. It's just that PostgreSQL doesn't see it. When I run locale-gen, it just shows that all locales (listed by locale -a) are up to date. Did you do 'dpkg-reconfigure locales' after the locale-gen? depesz -- Adrian Klaver adrian.kla...@aklaver.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Problem with locales on Linux with 9.3.4
On 06/06/2014 04:36 PM, hubert depesz lubaczewski wrote: locale-gen just regenerates the locale - which I have. It's just that PostgreSQL doesn't see it. When I run locale-gen, it just shows that all locales (listed by locale -a) are up to date. On further reading another way would be to use the localedef command with the --no-archive option: http://manpages.ubuntu.com/manpages/precise/man1/localedef.1.html depesz -- Adrian Klaver adrian.kla...@aklaver.com -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general