| 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 |
| 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 |