On Tue, Aug 6, 2024 at 4:06 PM Sandeep Thakkar < sandeep.thak...@enterprisedb.com> wrote:
> > > On Tue, Aug 6, 2024 at 10:57 AM Thomas Munro <thomas.mu...@gmail.com> > wrote: > >> On Mon, Aug 5, 2024 at 8:50 PM Sandeep Thakkar >> <sandeep.thak...@enterprisedb.com> wrote: >> > This issue is seen only on v16 and not the back branches (tested on 15 >> and 14) and also confirmed by @Ertan Küçükoglu at >> https://github.com/EnterpriseDB/edb-installers/issues/127#issuecomment-2268371442 >> >> Does that mean you can reproduce the problem with initdb.exe directly >> in a shell? That is, remove the EDB installer from the picture and >> compare v15 and v16 with the exact command line options that >> initcluster.vbs is using, or perhaps just: >> >> initdb.exe --locale="Turkish,Türkiye" --encoding=UTF-8 -D pgdata >> >> yes, here is the output: > >> c:\Program Files\PostgreSQL\16\bin>initdb.exe --encoding=UTF-8 -A >> scram-sha-256 -U postgres -D "c:\Program Files\PostgreSQL\16\data" --locale >> "Turkish,Türkiye" -W >> The files belonging to this database system will be owned by user >> "sandeep". >> This user must also own the server process. >> >> The database cluster will be initialized with locale >> "Turkish_Türkiye.1254". >> The default text search configuration will be set to "turkish". >> >> Data page checksums are disabled. >> >> Enter new superuser password: >> Enter it again: >> >> fixing permissions on existing directory c:/Program >> Files/PostgreSQL/16/data ... ok >> creating subdirectories ... ok >> selecting dynamic shared memory implementation ... windows >> selecting default max_connections ... 100 >> selecting default shared_buffers ... 128MB >> selecting default time zone ... UTC >> creating configuration files ... ok >> running bootstrap script ... ok >> performing post-bootstrap initialization ... child process was terminated >> by exception 0xC0000409 >> initdb: removing contents of data directory "c:/Program >> Files/PostgreSQL/16/data" >> > > > >> . o O (Why does that locale name have a comma?) If v15 works and v16 >> breaks, perhaps you could try comparing the output with the attached >> patch? It will give a hex dump of the contents of the locale name at >> various points in the program, to see if/where it was corrupted, which >> might also be a bit less confusing than looking at script output via >> email (I don't even know how many onion layers of transcoding are >> involved...) >> > > here is the output: > v15: > > c:\Program Files\PostgreSQL\15\bin>initdb.exe --encoding=UTF-8 -A >> scram-sha-256 -U postgres -D "c:\Program Files\PostgreSQL\15\data" --locale >> "Turkish,Türkiye" -W >> XXX debug raw: getopt optarg = "Turkish,Türkiye" >> XXX debug hex: getopt optarg = { 54 75 72 6b 69 73 68 2c 54 fc 72 6b 69 >> 79 65 } >> XXX debug txt: getopt optarg = { T u r k i s h , T ? r k i >> y e } >> XXX debug raw: getopt optarg = "Turkish,Türkiye" >> XXX debug hex: getopt optarg = { 54 75 72 6b 69 73 68 2c 54 fc 72 6b 69 >> 79 65 } >> XXX debug txt: getopt optarg = { T u r k i s h , T ? r k i >> y e } >> The files belonging to this database system will be owned by user >> "sandeep". >> This user must also own the server process. >> >> XXX debug raw: setlocales lc_ctype = "Turkish,Türkiye" >> XXX debug hex: setlocales lc_ctype = { 54 75 72 6b 69 73 68 2c 54 fc 72 >> 6b 69 79 65 } >> XXX debug txt: setlocales lc_ctype = { T u r k i s h , T ? r >> k i y e } >> XXX debug raw: setlocales cannonname = "Turkish_Türkiye.1254" >> XXX debug hex: setlocales cannonname = { 54 75 72 6b 69 73 68 5f 54 fc >> 72 6b 69 79 65 2e 31 32 35 34 } >> XXX debug txt: setlocales cannonname = { T u r k i s h _ T ? r >> k i y e . 1 2 5 4 } >> XXX debug raw: setup_locale_encoding = "Turkish_Türkiye.1254" >> XXX debug hex: setup_locale_encoding = { 54 75 72 6b 69 73 68 5f 54 fc >> 72 6b 69 79 65 2e 31 32 35 34 } >> XXX debug txt: setup_locale_encoding = { T u r k i s h _ T ? r >> k i y e . 1 2 5 4 } >> The database cluster will be initialized with locale >> "Turkish_Türkiye.1254". >> The default text search configuration will be set to "turkish". >> >> Data page checksums are disabled. >> >> Enter new superuser password: >> Enter it again: >> >> fixing permissions on existing directory c:/Program >> Files/PostgreSQL/15/data ... ok >> creating subdirectories ... ok >> selecting dynamic shared memory implementation ... windows >> selecting default max_connections ... 100 >> selecting default shared_buffers ... 128MB >> selecting default time zone ... UTC >> creating configuration files ... ok >> running bootstrap script ... ok >> performing post-bootstrap initialization ... ok >> syncing data to disk ... ok >> >> Success. You can now start the database server using: >> >> pg_ctl -D ^"c^:^\Program^ Files^\PostgreSQL^\15^\data^" -l logfile >> start >> > > > > v16: > >> C:\Program Files\PostgreSQL\16\bin>initdb.exe --encoding=UTF-8 -A >> scram-sha-256 -U postgres -D "c:\Program Files\PostgreSQL\16\data" --locale >> "Turkish,Türkiye" -W >> XXX debug raw: getopt optarg = "Turkish,Türkiye" >> XXX debug hex: getopt optarg = { 54 75 72 6b 69 73 68 2c 54 fc 72 6b 69 >> 79 65 } >> XXX debug txt: getopt optarg = { T u r k i s h , T ? r k i >> y e } >> XXX debug raw: getopt optarg = "Turkish,Türkiye" >> XXX debug hex: getopt optarg = { 54 75 72 6b 69 73 68 2c 54 fc 72 6b 69 >> 79 65 } >> XXX debug txt: getopt optarg = { T u r k i s h , T ? r k i >> y e } >> The files belonging to this database system will be owned by user >> "Administrator". >> This user must also own the server process. >> >> XXX debug raw: setlocales lc_ctype = "Turkish,Türkiye" >> XXX debug hex: setlocales lc_ctype = { 54 75 72 6b 69 73 68 2c 54 fc 72 >> 6b 69 79 65 } >> XXX debug txt: setlocales lc_ctype = { T u r k i s h , T ? r >> k i y e } >> XXX debug raw: setlocales cannonname = "Turkish_Türkiye.1254" >> XXX debug hex: setlocales cannonname = { 54 75 72 6b 69 73 68 5f 54 fc >> 72 6b 69 79 65 2e 31 32 35 34 } >> XXX debug txt: setlocales cannonname = { T u r k i s h _ T ? r >> k i y e . 1 2 5 4 } >> XXX debug raw: setup_locale_encoding = "Turkish_Türkiye.1254" >> XXX debug hex: setup_locale_encoding = { 54 75 72 6b 69 73 68 5f 54 fc >> 72 6b 69 79 65 2e 31 32 35 34 } >> XXX debug txt: setup_locale_encoding = { T u r k i s h _ T ? r >> k i y e . 1 2 5 4 } >> The database cluster will be initialized with locale >> "Turkish_Türkiye.1254". >> The default text search configuration will be set to "turkish". >> >> Data page checksums are disabled. >> >> Enter new superuser password: >> Enter it again: >> >> fixing permissions on existing directory c:/Program >> Files/PostgreSQL/16/data ... ok >> creating subdirectories ... ok >> selecting dynamic shared memory implementation ... windows >> selecting default max_connections ... 100 >> selecting default shared_buffers ... 128MB >> selecting default time zone ... UTC >> creating configuration files ... ok >> running bootstrap script ... ok >> performing post-bootstrap initialization ... child process was terminated >> by exception 0xC0000409 >> initdb: removing contents of data directory "c:/Program >> Files/PostgreSQL/16/data" >> > > > -- > Sandeep Thakkar > > > -- Sandeep Thakkar