Re: EDB Installer initcluster script changes - review requested
Kashif Zeeshan <kashi.zeeshan@gmail.com>
From: Kashif Zeeshan <kashi.zeeshan@gmail.com>
To: Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>
Cc: Manika Singhal <manika.singhal@enterprisedb.com>,
pgsql-hackers@lists.postgresql.org, thomas.munro@gmail.com, noah@leadboat.com, Dave Page <dpage@pgadmin.org>
Date: 2025-01-29T13:00:32Z
Lists: pgsql-hackers
On Wed, Jan 29, 2025 at 5:59 PM Sandeep Thakkar < sandeep.thakkar@enterprisedb.com> wrote: > Hi > > On Wed, Jan 29, 2025 at 12:53 PM Kashif Zeeshan <kashi.zeeshan@gmail.com> > wrote: > >> Hi Manika >> >> The bug is fixed with the shared package. >> >> Just to be sure, you're talking about the issue where EDB's installer was > passing the locale with non-ascii characters and was failing, correct? > Yes > > > >> Thanks >> Kashif Zeehsan >> >> On Tue, Jan 28, 2025 at 11:19 PM Manika Singhal < >> manika.singhal@enterprisedb.com> wrote: >> >>> On Tue, Jan 28, 2025 at 3:12 PM Manika Singhal < >>> manika.singhal@enterprisedb.com> wrote: >>> >>>> Hi, >>>> >>>> As a part of rewriting the legacy *initcluster.vbs* [1], which EDB's >>>> graphical installer uses to initialize the database cluster and set the >>>> proper ACL's, into Powershell script *initcluster.ps1,* I have also >>>> attempted to fix the locale issue (about non-ASCII characters) being >>>> discussed at [2]. >>>> >>>> Here are the test cases that I tried with the generated test installer >>>> for PG17 [3] >>>> >>>> 1. Ensure that the ACLs of the data directories generated by the >>>> existing initcluster.vbs and the new *initcluster.ps1* match, both >>>> in the default installation directory (C:\Program Files) and in non-default >>>> location (outside C:\Program Files). >>>> 2. Ensure that the ACls of the password file and its temporary >>>> directory match those created by the existing initcluster.vbs >>>> 3. Ensure that the ASCII and non-ASCII locales passed during the >>>> GUI based installation are converted into BCP-47 names before being passed >>>> to the initdb.exe >>>> a. *example:* I have selected locale "Turkish, Türkiye" at the time >>>> of installation, please refer to the screenshot below: >>>> [image: ss.png] >>>> >>>> *initcluster.ps1* converted it into its BCP-47 name, i.e. "tr-TR" and >>>> passed it to initdb.exe, please refer below installation log lines: >>>> >>>> >>>>> *Executing C:\Windows\System32\cmd.exe /c powershell.exe >>>>> -ExecutionPolicy Bypass -File "C:\Program >>>>> Files\PostgreSQL\17\installer\server\initcluster.ps1" "NT >>>>> AUTHORITY\NetworkService" "postgres" "****" >>>>> "C:\Users\Administrator\AppData\Local\Temp\2\postgresql_installer_cd746730f8" >>>>> "C:\Program Files\PostgreSQL\17" "C:\Program Files\PostgreSQL\17\data" 5432 >>>>> "Turkish,Türkiye" 0**Script exit code: 0* >>>>> Script output: >>>>> <some script output lines> >>>>> >>>>> *The database cluster will be initialized with locale "tr-TR".**The >>>>> default text search configuration will be set to "turkish".* >>>> >>>> >>>> Can I request you all to please review the pull request at >>>> https://github.com/EnterpriseDB/edb-installers/pull/227? >>>> >>>> Thanks! >>>> >>>> >>>> [1] https://github.com/EnterpriseDB/edb-installers/issues/98 >>>> >>>> [2] >>>> https://www.postgresql.org/message-id/CA+hUKGL5mBN3JQuebAPbX0yxDNtpui04J+KSy2F7KBbhLGaJig@mail.gmail.com >>>> >>>> [3] >>>> https://get.enterprisedb.com/test-installers/postgresql-17.2-0.0snapshot12949906433.1091.1.3b995e2.3-windows-x64.exe >>>> >>>> >>>> >>> Here is the link to the updated installer with a fix: >>> [3] >>> https://get.enterprisedb.com/test-installers/postgresql-17.2-0.0snapshot13015478730.1095.1.3b995e2.3-windows-x64.exe >>> >>> >>>> >>>> >>> -------------------------------- >>>> Thanks >>>> Manika Singhal >>>> >>> > > -- > Sandeep Thakkar > > >