On Wed, 2026-04-01 at 08:38 +0900, Tatsuo Ishii wrote:
> In my case pg_upgrade does not fail.
> 
> Old clsuter:
> - create pg18 cluster with SQL_ASCII encoding
> - create MULE_INTERNAL encoding database
> - drop the MULE_INTERNAL database
> 
> New cluster:
> - create pg19dev cluster with SQL_ASCII encoding
> 
> Run pg_upgrade

Repro of my case:

  cd pgsql18dbg
  ./bin/initdb -D data -N -E MULE_INTERNAL --locale=C
  ./bin/pg_ctl -D data -l logfile start
  PGCLIENTENCODING=SQL_ASCII ./bin/psql postgres \
    -c 'create table x(t text);'
  ./bin/pg_ctl -D data stop
  cd ../pgsql19dbg
  ./bin/initdb -D data -N -E SQL_ASCII --locale=C
  ./bin/pg_upgrade -b ../pgsql18dbg/bin -B bin \
    -d ../pgsql18dbg/data -D data

  ===========================
  ...
  Performing Upgrade
  ------------------
  ...
  Setting frozenxid and minmxid counters in new cluster        
connection to server on socket ".../pgsql19dbg/.s.PGSQL.50432" failed:
FATAL:  invalid database encoding: 7

  Failure, exiting
  ===========================

It's easy to fix by just rejecting MULE_INTERNAL during the "check"
phase.

Regards,
        Jeff Davis




Reply via email to