public inbox for [email protected]  
help / color / mirror / Atom feed
From: Thomas Munro <[email protected]>
To: Sandeep Thakkar <[email protected]>
Cc: Ertan Küçükoglu <[email protected]>
Cc: Adrian Klaver <[email protected]>
Cc: [email protected]
Cc: Dave Page <[email protected]>
Subject: Re: Windows installation problem at post-install step
Date: Tue, 23 Jul 2024 12:28:36 +1200
Message-ID: <CA+hUKGKr49an4Z-pjj+1LE5U3O40gqtjG3uUkciALVfbTHMYhw@mail.gmail.com> (raw)
In-Reply-To: <CANFyU979ABWV2AWicbLd3VgW0PfVfB1HfXc434cxnW8Ru7-kWg@mail.gmail.com>
References: <CAH2i4ydECHZPxEBB7gtRG3vROv7a0d3tqAFXzcJWQ9hRsc1znQ@mail.gmail.com>
	<[email protected]>
	<CAH2i4yfkH7YPoLz1aE6MQiBOm8dra5uOTpn51=9ce_Tm6fy3Pw@mail.gmail.com>
	<[email protected]>
	<CAH2i4ycV8p_uDsdGRcP3bWcU52ogojg9_-mT8uMixSqpNmW7Sg@mail.gmail.com>
	<[email protected]>
	<CAH2i4yfBEYmOzsvsT=D+ySpLpsEW2O1VfUwx9Ckd69du67YY_w@mail.gmail.com>
	<[email protected]>
	<CA+hUKGJA4pGEeZtfUUEuQmNNO7x16wZ+RWOeXP+tq3Hf4iu8oQ@mail.gmail.com>
	<CAH2i4yeMK=q3a_+N8hLC8HuToPCNtgk=v0SwDv99WHQ4k5=vrA@mail.gmail.com>
	<CA+hUKGLyfou2xa2fxGOs0WwkOrcKjwqn-bRNR01Hq5RAD16ueg@mail.gmail.com>
	<CANFyU979ABWV2AWicbLd3VgW0PfVfB1HfXc434cxnW8Ru7-kWg@mail.gmail.com>

On Mon, Jul 22, 2024 at 11:51 PM Sandeep Thakkar
<[email protected]> wrote:
> EDB's windows installer gets the locales on the system using the https://github.com/EnterpriseDB/edb-installers/blob/REL-16/server/scripts/windows/getlocales/getloca... and then substitute some patterns (https://github.com/EnterpriseDB/edb-installers/blob/REL-16/server/pgserver.xml.in#L2850) I'm not sure why we do that but that is the old code and probably @Dave Page  may know but I'm not sure if that piece of code is responsible for this change in encoding in this case.

Ah, so it's calling EnumSystemLocales().  Interestingly, the
documentation for that function says:

"Note  For interoperability reasons, the application should prefer the
EnumSystemLocalesEx function to EnumSystemLocales because Microsoft is
migrating toward the use of locale names instead of locale identifiers
for new locales. Any application that will be run only on Windows
Vista and later should use EnumSystemLocalesEx."

That seems to be talking about this exact issue, that we're supposed
to be using "locale names".  I'm a little confused about the
terminology for the various types of names and identifiers but if you
follow the link to a example program[1] you can see that it's talking
about the BCP47 "en-US" kind, that we want.  (That quote makes it
sound like a new thing, but Vista came out ~17 years ago.)

So one idea would be that in v18, we not only change initdb.exe to
pick a BCP47 locale name by default as I proposed in that other
thread[2], but also in the v18 version of the EDB installer you
consider switching that code over to EnumSystemLocalesEx().  Then we
can start to kiss goodbye to the bad old names.  People would still
propagate them into the future with pg_upgrade I guess, and it'd be up
to users to replace them by updating their catalogs manually.  Does
that make sense?

[1] https://learn.microsoft.com/en-us/windows/win32/intl/nls--name-based-apis-sample
[2] https://www.postgresql.org/message-id/flat/CA%2BhUKGJ%3DXThErgAQRoqfCy1bKPxXVuF0%3D2zDbB%2BSxDs59pv7...






view thread (3+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Windows installation problem at post-install step
  In-Reply-To: <CA+hUKGKr49an4Z-pjj+1LE5U3O40gqtjG3uUkciALVfbTHMYhw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox