Re: EDB Installer initcluster script changes - review requested

Manika Singhal <manika.singhal@enterprisedb.com>

From: Manika Singhal <manika.singhal@enterprisedb.com>
To: pgsql-hackers@lists.postgresql.org
Cc: Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>, thomas.munro@gmail.com, noah@leadboat.com, Dave Page <dpage@pgadmin.org>
Date: 2025-01-28T18:18:43Z
Lists: pgsql-hackers
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
>