Re: insert column monetary type ver 2

Ron Johnson <ronljohnsonjr@gmail.com>

From: Ron <ronljohnsonjr@gmail.com>
To: pgsql-general@lists.postgresql.org
Date: 2021-11-21T04:02:29Z
Lists: pgsql-general
On 11/20/21 11:01 AM, Tom Lane wrote:
> =?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JjQstCw0L3QvtCy?= <firstdismay@gmail.com> writes:
>> I can't figure out the problem.  Digit group group separator causes an
>> insertion error, what should I do?
>> lc_monetary = 'ru_RU.UTF-8'
> On my RHEL8 (moderately recent glibc) platform, that locale's
> mon_thousands_sep symbol is not a plain space but "\342\200\257":
>
> p *lconvert
> $3 = {decimal_point = 0x23ef120 ".", thousands_sep = 0x23ef140 "",
>    grouping = 0x23ef160 "", int_curr_symbol = 0x23ef1a0 "RUB ",
>    currency_symbol = 0x23ef1c0 "\342\202\275",
>    mon_decimal_point = 0x23ef1e0 ",",
>    mon_thousands_sep = 0x23ef200 "\342\200\257",
>    mon_grouping = 0x23ef220 "\003\003", positive_sign = 0x23ef240 "",
>    negative_sign = 0x23ef260 "-", int_frac_digits = 2 '\002',
>    frac_digits = 2 '\002', p_cs_precedes = 0 '\000', p_sep_by_space = 1 '\001',
>    n_cs_precedes = 0 '\000', n_sep_by_space = 1 '\001', p_sign_posn = 1 '\001',
>    n_sign_posn = 1 '\001', int_p_cs_precedes = 0 '\000',
>    int_p_sep_by_space = 0 '\000', int_n_cs_precedes = 0 '\000',
>    int_n_sep_by_space = 0 '\000', int_p_sign_posn = 0 '\000',
>    int_n_sign_posn = 0 '\000'}
>
> A quick lookup later, that's U+202F or "narrow no-break space".
>
> cash_in is picky about this, and won't take plain ASCII space as
> a substitute.  Not sure if it should.

It probably should, based on the Robustness Principle: "be conservative in 
what you send, be liberal in what you accept".

-- 
Angular momentum makes the world go 'round.