Re: [GENERAL] Problem with locales on Linux with 9.3.4

2014-06-07 Thread hubert depesz lubaczewski
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

2014-06-07 Thread Adrian Klaver

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

2014-06-07 Thread Adrian Klaver

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

2014-06-07 Thread hubert depesz lubaczewski
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

2014-06-07 Thread Adrian Klaver

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

2014-06-07 Thread hubert depesz lubaczewski
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

2014-06-06 Thread hubert depesz lubaczewski
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

2014-06-06 Thread Adrian Klaver

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

2014-06-06 Thread hubert depesz lubaczewski
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

2014-06-06 Thread Adrian Klaver

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

2014-06-06 Thread Adrian Klaver

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