Re: BUG #15566: can't insert money type

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: yusuke(dot)sonomura(at)jp(dot)fujitsu(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15566: can't insert money type
Date: 2018-12-26 22:25:29
Message-ID: 23676.1545863129@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

=?utf-8?q?PG_Bug_reporting_form?= <noreply(at)postgresql(dot)org> writes:
> -Issue
> I can't INSERT numeric data to money column on Solaris.
> And I can't understand what error message says. I think codeset should be
> "UTF-8".

> --How to reproduce
> export LANG=ja_JP.UTF-8
> initdb --encoding="UTF-8" --locale="ja_JP.UTF-8" --lc-collate="C"
> --lc-ctype="C" --lc-messages="ja_JP.UTF-8" --lc-monetary="ja_JP.UTF-8"
> --lc-numeric="ja_JP.UTF-8" --lc-time="ja_JP.UTF-8" -D inst1

Hm. I think you're shooting yourself in the foot by specifying
--lc-ctype="C"; in the locale world, that setting is what determines
the character encoding. If you want to use UTF8 then LC_CTYPE had
better match that.

This combination of LC_xxx settings does seem to work more or less sanely
on glibc, but it doesn't surprise me that it doesn't work on Solaris.

> --Output I got
> 2018-12-21 22:15:41.389 JST [8295] WARNING: could not determine encoding
> for locale "ja_JP.UTF-8": codeset is "646"
> WARNING: could not determine encoding for locale "ja_JP.UTF-8": codeset is
> "646"

I suppose "646" here refers to ISO 646, which is basically ASCII.
Maybe we should recognize codeset "646" as a synonym for PG_SQL_ASCII.
But I have a feeling that that'd just leave you with some other, even
less decipherable failure later, given this combination of LC_xxx
settings.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2018-12-27 01:04:53 Re: Docker pgAdmin4 documentation typo
Previous Message nikola.toshev 2018-12-26 10:09:31 Docker pgAdmin4 documentation typo