Move defaults toward ICU in 16?

Jeff Davis <pgsql@j-davis.com>

From: Jeff Davis <pgsql@j-davis.com>
To: pgsql-hackers@postgresql.org
Date: 2023-02-02T13:13:16Z
Lists: pgsql-hackers
As a project, do we want to nudge users toward ICU as the collation
provider as the best practice going forward?

If so, is version 16 the right time to adjust defaults to favor ICU?

  * At build time, default to --with-icu (-Dicu=enabled); users who
    don't want ICU can specify --without-icu (-Dicu=disabled/auto)
  * At initdb time, default to --locale-provider=icu if built with
    ICU support

If we don't want to nudge users toward ICU, is it because we are
waiting for something, or is there a lack of consensus that ICU is
actually better?

Regards,
	Jeff Davis




Commits

  1. Build ICU support by default.

  2. Use ICU by default at initdb time.

  3. pg_upgrade: copy locale and encoding information to new cluster.