AW: BUG #16103: Initdb does not respect country for language - Mailing list pgsql-bugs

From Wimmesberger, Simon
Subject AW: BUG #16103: Initdb does not respect country for language
Date
Msg-id 1584443464082.22725@zoetis.com
Whole thread Raw
In response to Re: BUG #16103: Initdb does not respect country for language  (Fahar Abbas <fahar.abbas@enterprisedb.com>)
Responses Re: BUG #16103: Initdb does not respect country for language
List pgsql-bugs

Hi,

Steps to reproduce: 

  1. Download the enterprisedb installer (for postgres 10 for example)
  2. Set the system locale of the machine to English US
  3. Start the installer
  4. Select the Locale German, Austria in the installer
  5. Install Postgres
  6. Look into the initialized postgres database for the locale property
  7. The database is initialized with German, Germany instead of German, Austria even though German, Austria is available as a System Locale

If you look into the logfile of the installer you will see that the installer calls initdb with --locale=German,Austria but as I said above the database is wrongly initialized with German,Germany.
If you call (ON THE SAME SYSTEM) initdb with --locale=German_Austria.1252 it works as expected - the database is initialized with German,Austria.

Best Regards,
Simon


Von: Fahar Abbas <fahar.abbas@enterprisedb.com>
Gesendet: Dienstag, 17. März 2020 12:00
An: Wimmesberger, Simon
Cc: Sandeep Thakkar; pgsql-bugs@lists.postgresql.org
Betreff: Re: BUG #16103: Initdb does not respect country for language
 

NOTICE: This message originates from an external source.


Hi,

It's an installer behaviour when you set any system locale then  same lc_messages(from dbserver) will be shown accordingly after complete installation.

Can you please go through this documentation and maybe you will understand the exact behaviour?


Can you please share the exact steps to reproduce?

On Tue, Mar 17, 2020 at 1:25 PM Wimmesberger, Simon <simon.wimmesberger@zoetis.com> wrote:

Hi,

when the system language matches with the language you want to initialize the database with everything works correctly (e.g. selecting system language in the enterprisedb installer). The issue is when you want to initialize the database with a specific language which IS NOT the system language. So you have to configure the system with a different system language than what you later pass to initdb.


Best Regards,

Simon



Von: Fahar Abbas <fahar.abbas@enterprisedb.com>
Gesendet: Dienstag, 17. März 2020 08:33
An: Wimmesberger, Simon
Cc: Sandeep Thakkar; pgsql-bugs@lists.postgresql.org
Betreff: Re: BUG #16103: Initdb does not respect country for language
 

NOTICE: This message originates from an external source.



C:\Program Files\PostgreSQL\10\bin>psql.exe -U postgres
Passwort für Benutzer postgres:
psql (10.12)
Warnung: Konsolencodeseite (850) unterscheidet sich von der Windows-
         Codeseite (1252). 8-Bit-Zeichen funktionieren möglicherweise nicht
         richtig. Einzelheiten finden Sie auf der psql-Handbuchseite unter
         »Notes for Windows users«.
Geben Sie »help« für Hilfe ein.

postgres=# show lc_messages;
     lc_messages
---------------------
 German_Austria.1252
(1 Zeile)


postgres=#

On Tue, Mar 17, 2020 at 12:31 PM Fahar Abbas <fahar.abbas@enterprisedb.com> wrote:
Hi,

I am getting following when we do initdb with system locale is german Austria:

C:\Program Files\PostgreSQL\10\bin>initdb.exe -D C:\master
Die Dateien, die zu diesem Datenbanksystem gehören, werden dem Benutzer
»Fahar Abbas« gehören. Diesem Benutzer muss auch der Serverprozess gehören.

Der Datenbankcluster wird mit der Locale »German_Austria.1252« initialisiert wer
den.
Die Standarddatenbankkodierung wurde entsprechend auf »WIN1252« gesetzt.
Die Standardtextsuchekonfiguration wird auf »german« gesetzt.

Datenseitenprüfsummen sind ausgeschaltet.

erzeuge Verzeichnis C:/master ... ok
erzeuge Unterverzeichnisse ... ok
wähle Vorgabewert für max_connections ... 100
wähle Vorgabewert für shared_buffers ... 128MB
wähle Vorgabewert für timezone .. Asia/Karachi
wähle Implementierung von dynamischem Shared Memory ... windows
erzeuge Konfigurationsdateien ... ok
führe Bootstrap-Skript aus ... ok
führe Post-Bootstrap-Initialisierung durch ... ok
synchronisiere Daten auf Festplatte ... ok

WARNUNG: Authentifizierung für lokale Verbindungen auf »trust« gesetzt
Sie können dies ändern, indem Sie pg_hba.conf bearbeiten oder beim
nächsten Aufruf von initdb die Option -A, oder --auth-local und
--auth-host, verwenden.

Erfolg. Sie können den Datenbankserver jetzt mit

    pg_ctl -D ^"C^:^\master^" -l logdatei start

starten.


C:\Program Files\PostgreSQL\10\bin>




On Wed, Feb 5, 2020 at 1:58 PM Wimmesberger, Simon <simon.wimmesberger@zoetis.com> wrote:

Any updates regarding this issue? This issue unfornutatly makes our work more unconfortable than it should be.

 


Thanks for reporting, We will look into it.

 

On Fri, Nov 8, 2019 at 5:45 PM PG Bug reporting form <noreply@postgresql.org> wrote:

The following bug has been logged on the website:

Bug reference:      16103
Logged by:          Simon Wimmesberger
Email address:      simon.wimmesberger@zoetis.com
PostgreSQL version: 10.10
Operating system:   Windows Server 2008 R2
Description:       

When using the enterprisedb installer on Windows and I select the language
"German, Austria" it is passed to initdb with "German,Austria". When I look
at the database property of the initialized database the "collation" and
"character type" is set to "German_Germany.1252" instead of the expected
value of "German_Austria.1252". When I call initdb directly with
"German_Austria.1252" it works as expected. In our usecase we really want to
use the enterprisedb installer therefore selecting the language should work
as expected.

I have also tried to select "Englisch, Ireland" in the installer it is again
passed to initdb as "English,Ireland" but the database is then wrongly
initialized with "English_United States.1252" - so it seems like that the
installer somehow passes the Language/Country wrong the initdb executable or
initdb does not respect the country when passed in this format.


 

--

Sandeep Thakkar

 



--
Fahar Abbas
QMG
EnterpriseDB Corporation
Phone Office: +92-51-835-8874
Phone Direct: +92-51-8466803
Mobile: +92-333-5409707
Skype ID: live:fahar.abbas
Website: www.enterprisedb.com


--
Fahar Abbas
QMG
EnterpriseDB Corporation
Phone Office: +92-51-835-8874
Phone Direct: +92-51-8466803
Mobile: +92-333-5409707
Skype ID: live:fahar.abbas
Website: www.enterprisedb.com


--
Fahar Abbas
QMG
EnterpriseDB Corporation
Phone Office: +92-51-835-8874
Phone Direct: +92-51-8466803
Mobile: +92-333-5409707
Skype ID: live:fahar.abbas
Website: www.enterprisedb.com

pgsql-bugs by date:

Previous
From: Fahar Abbas
Date:
Subject: Re: BUG #16103: Initdb does not respect country for language
Next
From: Fahar Abbas
Date:
Subject: Re: BUG #16103: Initdb does not respect country for language