Re: Do we still need MULE_INTERNAL?
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Tatsuo Ishii <ishii@postgresql.org>
Cc: thomas.munro@gmail.com, pgsql-hackers@lists.postgresql.org, tgl@sss.pgh.pa.us
Date: 2026-04-01T15:33:04Z
Lists: pgsql-hackers
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
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pg_upgrade: Check for unsupported encodings.
- ce11e63f812f 19 (unreleased) landed
-
Remove MULE_INTERNAL encoding.
- 77645d44e355 19 (unreleased) landed