Thank you Pavel. This is indeed a good solution if you have a few servers. We have users in hundreds across all major cities in Turkey, and each user is using our database on their dedicated server (we are developing a desktop application). In this case, providing support for all databases will be very challenging. We will document the solution you mentioned and add it to our documentation.
maybe it can be scripted, automatized. If I remember correctly, one of my customers wrote a small application that did this.
Sure - it is a workaround - dirty, but some clients can be fixed tomorrow.
I can convey it to you in more detail. Now I will explain the steps to avoid repeating this error.
1. Obtain a Windows version prior to version 22H2 22621.2715. 2. During the PostgreSQL installation in that version, choose Turkish, Turkey as the locale (during installation). 3. Create a database using PgAdmin or any other tool and select Turkish_Turkey.1254 as the local option. 4. Update your operating system to version 22H2 22621.2715. 5. After updating the operating system and restarting, you will notice that the PostgreSQL service is not running. 6. When you try to start the service, you will encounter an error stating that the Windows service cannot be started. 7. Later, in the Windows Event Logs, you will see the error "2023-11-15 10:47:14.877 +03 [1644] FATAL: configuration file "C:/Program Files/PostgreSQL/15/data/postgresql.conf" contains errors." 8. The cause of the error in this file is the values specified as lc_messages, lc_monetary, lc_numeric, lc_time under Turkish_Turkey.1254. This is because, with the new update, Turkish_Turkey.1254 is no longer present in the Windows operating system; the correct locale name is now Turkish_Türkiye.1254.
This is a similar issue to rename the Czech locale "Czech_Czech Republic.1250" to "Czech_Czechia.1250" six years ago.