On 2022-09-20 12:59, Peter Eisentraut wrote:
On 17.09.22 10:33, Marina Polyakova wrote:
3.

The locale provider is ICU, but it has not yet been set from the template database:

$ initdb --locale-provider icu --icu-locale en-US -D data &&
pg_ctl -D data -l logfile start &&
createdb --icu-locale ru-RU --template template0 mydb
...
createdb: error: database creation failed: ERROR:  ICU locale cannot be
specified unless locale provider is ICU

Please see attached patch for a fix.  Does that work for you?

Yes, it works. The following test checks this fix:

diff --git a/src/bin/scripts/t/020_createdb.pl b/src/bin/scripts/t/020_createdb.pl index b87d8fc63b5246b02bcd4499aae815269b60df7c..c2464a99618cd7ca5616cc21121e1e4379b52baf 100644
--- a/src/bin/scripts/t/020_createdb.pl
+++ b/src/bin/scripts/t/020_createdb.pl
@@ -71,6 +71,14 @@ if ($ENV{with_icu} eq 'yes')
        $node2->command_ok(
[ 'createdb', '-T', 'template0', '--locale-provider=libc', 'foobar55' ], 'create database with libc provider from template database with icu provider');
+
+       $node2->command_ok(
+               [
+                       'createdb', '-T', 'template0', '--icu-locale',
+                       'en-US', 'foobar56'
+               ],
+ 'create database with icu locale from template database with icu provider'
+       );
 }
 else
 {

--
Marina Polyakova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Reply via email to