Thread: pgsql: pg_upgrade: Preserve default char signedness value from old clus
pg_upgrade: Preserve default char signedness value from old cluster. Commit 44fe30fdab6 introduced the 'default_char_signedness' field in controlfile. Newly created database clusters always set this field to 'signed'. This change ensures that pg_upgrade updates the 'default_char_signedness' to 'unsigned' if the source database cluster has signedness=false. For source clusters from v17 or earlier, which lack the 'default_char_signedness' information, pg_upgrade assumes the source cluster was initialized on the same platform where pg_upgrade is running. It then sets the 'default_char_signedness' value according to the current platform's default character signedness. Reviewed-by: Noah Misch <noah@leadboat.com> Discussion: https://postgr.es/m/CB11ADBC-0C3F-4FE0-A678-666EE80CBB07%40amazon.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/a8238f87f980848c2d69c105555c4383e20e7670 Modified Files -------------- src/bin/pg_upgrade/controldata.c | 44 ++++++++++++++++++- src/bin/pg_upgrade/pg_upgrade.c | 28 +++++++++++++ src/bin/pg_upgrade/pg_upgrade.h | 6 +++ src/bin/pg_upgrade/t/005_char_signedness.pl | 65 +++++++++++++++++++++++++++++ 4 files changed, 142 insertions(+), 1 deletion(-)