Re: EDB Installer initcluster script changes - review requested

Kashif Zeeshan <kashi.zeeshan@gmail.com>

From: Kashif Zeeshan <kashi.zeeshan@gmail.com>
To: Manika Singhal <manika.singhal@enterprisedb.com>
Cc: pgsql-hackers@lists.postgresql.org, Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>, thomas.munro@gmail.com, noah@leadboat.com, Dave Page <dpage@pgadmin.org>
Date: 2025-01-29T07:23:28Z
Lists: pgsql-hackers
Hi Manika

The bug is fixed with the shared package.

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
>>
>