Thread: NOTICE: pg_setlocale()

NOTICE: pg_setlocale()

From
pgsql-bugs@postgresql.org
Date:
fmatheus (fmatheus@ic.unicamp.br) reports a bug with a severity of 3
The lower the number the more severe it is.

Short Description
NOTICE:  pg_setlocale()

Long Description
Im a Debian user of postgresql version 7.0.3-4.
libc6 and locales 2.2-6. (LANG=pt_BR, but problem stay with en_US)
that is a unstable package so maybe that is fault of libc6.



Sample Code
SELECT to_char(2.4, 'L9990D99');
NOTICE:  pg_setlocale(): 'LC_CTYPE= @x' cannot be honored.
NOTICE:  pg_setlocale(): 'LC_COLLATE=ð~µ' cannot be honored..
NOTICE:  pg_setlocale(): 'LC_MONETARY=xµ@-^ù¸' cannot be honored.d.
  to_char
------------
 R$    2,40


No file was uploaded with this report

Re: NOTICE: pg_setlocale()

From
Karel Zak
Date:
On Wed, 14 Feb 2001 pgsql-bugs@postgresql.org wrote:

> fmatheus (fmatheus@ic.unicamp.br) reports a bug with a severity of 3
> The lower the number the more severe it is.
>
> Short Description
> NOTICE:  pg_setlocale()
>
> Long Description
> Im a Debian user of postgresql version 7.0.3-4.
> libc6 and locales 2.2-6. (LANG=pt_BR, but problem stay with en_US)
> that is a unstable package so maybe that is fault of libc6.
>
>
>
> Sample Code
> SELECT to_char(2.4, 'L9990D99');
> NOTICE:  pg_setlocale(): 'LC_CTYPE= @x' cannot be honored.
> NOTICE:  pg_setlocale(): 'LC_COLLATE=ð~µ' cannot be honored..
> NOTICE:  pg_setlocale(): 'LC_MONETARY=xµ@-^ù¸' cannot be honored.d.

 It's sound as your locales problem, the setlocale(some_ctg, NULL) returns
a mazy data.

 The setlocale() manual:

       A successful call to setlocale()  returns  a  string  that
       corresponds  to  the locale set.  This string may be allo-
       cated in static storage.  The string returned is such that
       a subsequent call with that string and its associated cat-
       egory will restore that part of the process's locale.  The
       return value is NULL if the request cannot be honored.
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 During first setlocale() call when PG loads current locale setting your
system returns some bad data and if next time PG wants use this data and
put original setting back setlocal() returns for this data NULL (as error).

 For me is all right, I use Debian-potato; libc-2.1.3.so, locales
2.1.3-13, PostgreSQL 7.1

        Karel

Re: NOTICE: pg_setlocale()

From
Reinhard Max
Date:
Hi,

On Wed, 14 Feb 2001 pgsql-bugs@postgresql.org wrote:

> fmatheus (fmatheus@ic.unicamp.br) reports a bug with a severity of 3
> The lower the number the more severe it is.
>
> Short Description
> NOTICE:  pg_setlocale()
>
> Long Description
> Im a Debian user of postgresql version 7.0.3-4.
> libc6 and locales 2.2-6. (LANG=pt_BR, but problem stay with en_US)
> that is a unstable package so maybe that is fault of libc6.
>
>
>
> Sample Code
> SELECT to_char(2.4, 'L9990D99');
> NOTICE:  pg_setlocale(): 'LC_CTYPE= @x' cannot be honored.
> NOTICE:  pg_setlocale(): 'LC_COLLATE=ð~µ' cannot be honored..
> NOTICE:  pg_setlocale(): 'LC_MONETARY=xµ@-^ù¸' cannot be honored.d.
>   to_char
> ------------
>  R$    2,40

We also had that problem here at SuSE. The glibc people told me that
it is a bug in the current glibc which will be fixed in the next
version.

As a workarround you can try to unset LANG and all LC_* variables.

cu
    Reinhard