pgsql: pg_upgrade: Preserve default char signedness value from old clus - Mailing list pgsql-committers

From Masahiko Sawada
Subject pgsql: pg_upgrade: Preserve default char signedness value from old clus
Date
Msg-id E1tlXde-000VTE-1s@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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(-)


pgsql-committers by date:

Previous
From: Masahiko Sawada
Date:
Subject: pgsql: pg_resetwal: Add --char-signedness option to change the default
Next
From: Masahiko Sawada
Date:
Subject: pgsql: pg_upgrade: Add --set-char-signedness to set the default char si