Adapt appendPsqlMetaConnect() to the new fmtId() encoding expectations.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 Feb 2025 21:30:03 +0000 (16:30 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 Feb 2025 21:31:01 +0000 (16:31 -0500)
commite1f1b030d7d9fea27a77a335699372e0b222c61a
tree81f730278d03ddec27e5ca4dd7e404391cc63a35
parent4a6825c762112f085d6ee03bbce8e7abe2bf98e5
Adapt appendPsqlMetaConnect() to the new fmtId() encoding expectations.

We need to tell fmtId() what encoding to assume, but this function
doesn't know that.  Fortunately we can fix that without changing the
function's API, because we can just use SQL_ASCII.  That's because
database names in connection requests are effectively binary not text:
no encoding-aware processing will happen on them.

This fixes XversionUpgrade failures seen in the buildfarm.  The
alternative of having pg_upgrade use setFmtEncoding() is unappetizing,
given that it's connecting to multiple databases that may have
different encodings.

Andres Freund, Noah Misch, Tom Lane

Security: CVE-2025-1094
src/fe_utils/string_utils.c