Re: pg_upgrade doesn't copy ICU rules on template0

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bohyun Lee <bohyun(dot)lee(at)databricks(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_upgrade doesn't copy ICU rules on template0
Date: 2026-11-01 00:47:30
Message-ID: CAGRkXqQQ7+HbG4=kp8syX5GHoCqCFj5XoeFaxpsQzwpqJu2n3A@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Heikki,

> Stepping back a bit though, what is the point of having any of these
> -- encoding, datcollate, datctype, daticurules -- set on template0?

They are the defaults initdb picked, and createdb -T template0 uses
them. So I think pg_upgrade should carry them over as they are. I'll
leave it to you whether that design should change.

> So if you specify "initdb --icu-rules", you cannot create databases with
> any other locale provider.

This is because createdb() copies the template's ICU rules even for a
non-ICU
database.

The attached patch fixed it and it need to back to 17.

Thanks,
Shihao

Attachment Content-Type Size
0001-Don-t-inherit-ICU-rules-from-template-for-non-ICU-da.patch application/octet-stream 2.5 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Manu 2026-11-01 00:55:34 Re: O(N^3) planning time in choose_plan_name() since 8c49a484e8e
Previous Message shihao zhong 2026-11-01 00:45:20 Re: [PG19] Bogus errors for polymorphic plpython functions