Re: Do we still need MULE_INTERNAL?

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: pgsql@j-davis.com
Cc: thomas.munro@gmail.com, pgsql-hackers@lists.postgresql.org, tgl@sss.pgh.pa.us
Date: 2026-04-01T22:50:06Z
Lists: pgsql-hackers
> 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

Oh, initdb with encoding MULE_INTERNAL. I see cause of the error now.

>   ===========================
>   ...
>   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.

Agreed.

Regards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. pg_upgrade: Check for unsupported encodings.

  2. Remove MULE_INTERNAL encoding.