Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wALUR-002I6S-0W for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Apr 2026 05:30:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wALUN-0051rM-1T for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Apr 2026 05:30:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wALUM-0051rD-3C for pgsql-hackers@lists.postgresql.org; Wed, 08 Apr 2026 05:30:07 +0000 Received: from mail-dl1-x122c.google.com ([2607:f8b0:4864:20::122c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wALUL-00000001AMq-0cso for pgsql-hackers@lists.postgresql.org; Wed, 08 Apr 2026 05:30:06 +0000 Received: by mail-dl1-x122c.google.com with SMTP id a92af1059eb24-124a7216c9cso336128c88.0 for ; Tue, 07 Apr 2026 22:30:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775626204; cv=none; d=google.com; s=arc-20240605; b=TMrsdVdEHYwGMTOpfcIm7fof13UZDjijYf6GdTadWA6GpztX+uUh++o/FPAncYg11z mnryO6bw9quuRZAr5jM0VGUMldL7xLHMhIIIeyrftasiT2O7lNyIUu3StVj7jnbr6ob2 WUsWmcYv+iFKjUYbC6KV9N+DWgc50sBhzd5X1nXbK8h5xlV7BpnDmQ7FCGcUEmXp/VXN nQw5Wanm4OGBr2p/re7TVVmFwC2ODjx9sAZvASMFO9NU9iRiyNZQ+SqANgLQZ5ca0N4r CaBRh2wmrYWKNQX7R1Qailaq4Cza0K+toqBqw8tOCPtXqAaxGs0loQtMowYAJdtpowye ixdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=tBym3cC0WgI3zmsBvTynN1hLxX3wa4u4MPrX0SxD/wo=; fh=qZ5wyxM7H2GO2FBgky9/K+7LrPXARQoALr138ott610=; b=KnnPHPU2EFjfGlsXRqo95Rfb7CmszauPq1ELQZtW7v3CSO2IxdNyat3XXH2bjUs87E WbkBjwJjPGRH6TDU+S2JG1bO7ITXGAGw4D3+5E4uQwI/vJoQqdBAhh8eMu9udxEYFBJn WFgH/6PdONDtb9kx4T/zjbbl3S2Mctp126zC1dFscRSMOR+Qfjp1teedWnVxXujBjwzC cGAuS7wMiJZTXaaJhY+MzsduLYfkmcpXT4htyE0DwddebIyYkWT9pcmmviX79zSBFXsS Wav8UyFIMYO183nJkEHS93Whl+cde1UlZSNG586pJjFdWXf30m0Y9oxv0abIiR2fBy/S BH/w==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775626204; x=1776231004; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tBym3cC0WgI3zmsBvTynN1hLxX3wa4u4MPrX0SxD/wo=; b=SMYi8KYSImbSoPK8nmo20ADB2fz1ngAwmcNWxUzKYhI39EessEsTNChZx9Rz+rk6Cz +/pn1NYNTzTMagrp7rxNxHckrmQCwk4+b7jUu7mmOVJpwRFhNltZsnn+j2niP6QMpBuU G8WvxKLdJlMDAz6Zr5wvJ0y8rouglj5NTTBy/gjunmMMzdibfBQQiP29Fn+baSbiT8IN NXX1yW19x2TuJIuBIeKAX75Q6ijIOqUTYz6BGGzJNYP6MqGxF/PnS6AWwciQFRDW7+ax VqhUTwWxQLDR0BV0+H0/58LG7mjww+LtQs031H07VULbdV07+h8+DawIS1cY4rr8xWtP CYKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775626204; x=1776231004; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tBym3cC0WgI3zmsBvTynN1hLxX3wa4u4MPrX0SxD/wo=; b=RszN49rdpWuuy1tyiaEBGIYdas4yYf7bEy5/yMFCmhnxwT2sQUpMbWfZXAkeV8m5dS bYWwd+0M+b326ZTKug4sANEG+tS6X7ijWMLtz+rMpPtDiDfbermQfuP+Rjdesq7xKRJb fPkpAs0d78yXpS9kj0qbgqvKhoGfFcBpPtFnwstVgCZTkgw0r91gMHB6crVLqDpzkTjp ONdmCbt7IB98IXJf9PRyN+lmbu6zw7LG5rx8In3/cpYsoBNU0FW4qjaYjDU01tvHOW6n maFE+CEJnX1nmHhpVMfHOsVRcWHBrw0uULU/tu1aSwfUZnn1aoi6xwvEB0hshtFMW2VT xLig== X-Forwarded-Encrypted: i=1; AJvYcCXi90tF3aCwjEXNuBZ56zBnSVg6YT/2gv1sKqXo2uN/CmFJ0rmox43qtk0ve6Pf+Ppzsx2o6/N4NL38BZ8n@lists.postgresql.org X-Gm-Message-State: AOJu0YzbAh/mEzCIl50dkStU6l5zjUjv6I/7LARBb3wB96wvDYrxl5hv h/Zzx+BNEP/5z2RrOfJ1VnNmkJdOJTGdGv6QKLMR0SQtAUeREo+NQ38/1VpOgfHG31m4eI09mjg hqWoTH4aLffITUqdCDlv4NfFdGEQdOnfQahnV X-Gm-Gg: AeBDieuh0KzJpgiiPHiAlymzMWkS1pMos6y9K3bROOXZphDeCwHzTIIHF/XmVhcdOga D7pk6cjwzQhV0DHXRI7fpoD8v5QPle/8+QRoK+lwBu1rsv7PVn9qp5rmrGBS5cZANHp3x0H3av5 d6Re9Dt9R+arTJICHBUb4TPqbE0OQIzr7JGwF4Bs3FFjaL+Dyyo6nDtUIKifIZET5n4VXZDoGi2 UjaXOPBzwkkxQmOCdsJ5dBc0ROTy2en+zYv3G3uFvoKp3T56ZDlFMJPXRcfkl9niwSjstJoffxg qGRvUVJz4fzHrJzEXX/UoqyzsXA8BL3MIdX2o3gIO8eOsZI4AP4d55aejODh6YDGMK0NN+FoMPM = X-Received: by 2002:a05:7022:b81:b0:127:332d:63e with SMTP id a92af1059eb24-12bfb76050dmr4147234c88.5.1775626203967; Tue, 07 Apr 2026 22:30:03 -0700 (PDT) MIME-Version: 1.0 References: <20260401.083826.1947227822512469454.ishii@postgresql.org> <790a2e194c2d8cb03a2f1b8b580b64f25a5095b0.camel@j-davis.com> <20260402.075006.1215979483410908859.ishii@postgresql.org> <20260403.090640.487260902102768591.ishii@postgresql.org> In-Reply-To: <20260403.090640.487260902102768591.ishii@postgresql.org> From: Thomas Munro Date: Wed, 8 Apr 2026 17:29:26 +1200 X-Gm-Features: AQROBzAQizbpTFi6gJIW4ed0--hgRTxJOxr8f_i63GlqltAI0BJ4qpDaPDBdrEY Message-ID: Subject: Re: Do we still need MULE_INTERNAL? To: Tatsuo Ishii Cc: pgsql@j-davis.com, pgsql-hackers@lists.postgresql.org, tgl@sss.pgh.pa.us Content-Type: multipart/mixed; boundary="00000000000024a32d064eec313a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000024a32d064eec313a Content-Type: text/plain; charset="UTF-8" Thanks for both of those reviews! I'll push this shortly, with that stray mention removed from the documentation. Here's what I came up with for pg_upgrade. It tests each database's encodings with PG_VALID_BE_ENCODING(), and looks like this when it fails: Performing Consistency Checks ----------------------------- Checking cluster versions ok Checking database connection settings ok Checking for unsupported encodings fatal Your installation contains databases using encodings that are no longer supported. Consider dumping and restoring with UTF8. A list of databases with unsupported encodings is in the file: pgdata_new/pg_upgrade_output.d/20260408T170229.964/databases_unsupported_encoding.txt Failure, exiting $ cat pgdata_new/pg_upgrade_output.d/20260408T170229.964/databases_unsupported_encoding.txt postgres template1 template0 I'll wait a bit longer for this one, on the off chance of reviews at this late hour. --00000000000024a32d064eec313a Content-Type: text/x-patch; charset="US-ASCII"; name="0001-pg_upgrade-Check-for-unsupported-encodings.patch" Content-Disposition: attachment; filename="0001-pg_upgrade-Check-for-unsupported-encodings.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnpluyu10 RnJvbSBkZGEyOGM0NTYyYWY1ZmM3N2VjODcxN2VmNTgyOWI5MjI1ZWI3YjM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFdlZCwgOCBBcHIgMjAyNiAxNjo1MToyNCArMTIwMApTdWJqZWN0OiBbUEFUQ0hdIHBn X3VwZ3JhZGU6IENoZWNrIGZvciB1bnN1cHBvcnRlZCBlbmNvZGluZ3MuCgpTaW5jZSB3ZSBoYXZl IGRyb3BwZWQgTVVMRV9JTlRFUk5BTCwgYWRkIGEgY2hlY2sgdGhhdCBhbGwgZW5jb2RpbmdzIHVz ZWQKaW4gdGhlIHNvdXJjZSBjbHVzdGVyIGFyZSBzdGlsbCBzdXBwb3J0ZWQgYWNjb3JkaW5nIHRv ClBHX0VOQ09ESU5HX0JFX1ZBTElEKCkuICBUaGlzIGlzIGRvbmUgZ2VuZXJpY2FsbHksIGluIGNh c2Ugd2UgZGVjaWRlIHRvCmRyb3AgYW5vdGhlciBlbmNvZGluZyBzb21lIGRheS4KClN1Z2dlc3Rl ZC1ieTogSmVmZiBEYXZpcyA8cGdzcWxAai1kYXZpcy5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8v cG9zdGdyLmVzL20vQ0ElMkJoVUtHS1hEWGgtRmRVMG9yamZ2JTJCRjA4ZiUzREQ5MUJoVjNSYS00 ekwtcSUyQkptR1lxVEElNDBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iaW4vcGdfdXBncmFkZS9j aGVjay5jIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmls ZSBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdy YWRlL2NoZWNrLmMgYi9zcmMvYmluL3BnX3VwZ3JhZGUvY2hlY2suYwppbmRleCBlYjM1YzY4ZDQ1 MC4uMDYxMzRjZjVkMmUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS9jaGVjay5jCisr KyBiL3NyYy9iaW4vcGdfdXBncmFkZS9jaGVjay5jCkBAIC0xMywxMSArMTMsMTMgQEAKICNpbmNs dWRlICJjYXRhbG9nL3BnX2F1dGhpZF9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19jbGFzc19k LmgiCiAjaW5jbHVkZSAiZmVfdXRpbHMvc3RyaW5nX3V0aWxzLmgiCisjaW5jbHVkZSAibWIvcGdf d2NoYXIuaCIKICNpbmNsdWRlICJwZ191cGdyYWRlLmgiCiAjaW5jbHVkZSAiY29tbW9uL3VuaWNv ZGVfdmVyc2lvbi5oIgogCiBzdGF0aWMgdm9pZCBjaGVja19uZXdfY2x1c3Rlcl9pc19lbXB0eSh2 b2lkKTsKIHN0YXRpYyB2b2lkIGNoZWNrX2lzX2luc3RhbGxfdXNlcihDbHVzdGVySW5mbyAqY2x1 c3Rlcik7CitzdGF0aWMgdm9pZCBjaGVja19mb3JfdW5zdXBwb3J0ZWRfZW5jb2RpbmdzKENsdXN0 ZXJJbmZvICpjbHVzdGVyKTsKIHN0YXRpYyB2b2lkIGNoZWNrX2Zvcl9jb25uZWN0aW9uX3N0YXR1 cyhDbHVzdGVySW5mbyAqY2x1c3Rlcik7CiBzdGF0aWMgdm9pZCBjaGVja19mb3JfcHJlcGFyZWRf dHJhbnNhY3Rpb25zKENsdXN0ZXJJbmZvICpjbHVzdGVyKTsKIHN0YXRpYyB2b2lkIGNoZWNrX2Zv cl9pc25fYW5kX2ludDhfcGFzc2luZ19taXNtYXRjaChDbHVzdGVySW5mbyAqY2x1c3Rlcik7CkBA IC02MDEsNiArNjAzLDExIEBAIGNoZWNrX2FuZF9kdW1wX29sZF9jbHVzdGVyKHZvaWQpCiAJICov CiAJY2hlY2tfZm9yX2Nvbm5lY3Rpb25fc3RhdHVzKCZvbGRfY2x1c3Rlcik7CiAKKwkvKgorCSAq IENoZWNrIGZvciBlbmNvZGluZ3MgdGhhdCBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKwkgKi8K KwljaGVja19mb3JfdW5zdXBwb3J0ZWRfZW5jb2RpbmdzKCZvbGRfY2x1c3Rlcik7CisKIAkvKgog CSAqIFZhbGlkYXRlIGRhdGFiYXNlLCB1c2VyLCByb2xlIGFuZCB0YWJsZXNwYWNlIG5hbWVzIGZy b20gdGhlIG9sZAogCSAqIGNsdXN0ZXIuIE5vIG5lZWQgdG8gY2hlY2sgaW4gMTkgb3IgbmV3ZXIg YXMgbmV3bGluZSBhbmQgY2FycmlhZ2UgcmV0dXJuCkBAIC0xMjM5LDYgKzEyNDYsNjQgQEAgY2hl Y2tfZm9yX2Nvbm5lY3Rpb25fc3RhdHVzKENsdXN0ZXJJbmZvICpjbHVzdGVyKQogfQogCiAKKy8q CisgKiBjaGVja19mb3JfdW5zdXBwb3J0ZWRfZW5jb2RpbmdzKCkKKyAqLworc3RhdGljIHZvaWQK K2NoZWNrX2Zvcl91bnN1cHBvcnRlZF9lbmNvZGluZ3MoQ2x1c3RlckluZm8gKmNsdXN0ZXIpCit7 CisJaW50CQkJaV9kYXRuYW1lOworCWludAkJCWlfZW5jb2Rpbmc7CisJaW50CQkJbnR1cHM7CisJ UEdyZXN1bHQgICAqcmVzOworCVBHY29ubgkgICAqY29ubjsKKwlGSUxFCSAgICpzY3JpcHQgPSBO VUxMOworCWNoYXIJCW91dHB1dF9wYXRoW01BWFBHUEFUSF07CisKKwlwcmVwX3N0YXR1cygiQ2hl Y2tpbmcgZm9yIHVuc3VwcG9ydGVkIGVuY29kaW5ncyIpOworCisJc25wcmludGYob3V0cHV0X3Bh dGgsIHNpemVvZihvdXRwdXRfcGF0aCksICIlcy8lcyIsCisJCQkgbG9nX29wdHMuYmFzZWRpciwK KwkJCSAiZGF0YWJhc2VzX3Vuc3VwcG9ydGVkX2VuY29kaW5nLnR4dCIpOworCisJY29ubiA9IGNv bm5lY3RUb1NlcnZlcihjbHVzdGVyLCAidGVtcGxhdGUxIik7CisKKwlyZXMgPSBleGVjdXRlUXVl cnlPckRpZShjb25uLAorCQkJCQkJCSJTRUxFQ1QgZGF0bmFtZSwgZW5jb2RpbmcgIgorCQkJCQkJ CSJGUk9NIHBnX2NhdGFsb2cucGdfZGF0YWJhc2UiKTsKKwludHVwcyA9IFBRbnR1cGxlcyhyZXMp OworCWlfZGF0bmFtZSA9IFBRZm51bWJlcihyZXMsICJkYXRuYW1lIik7CisJaV9lbmNvZGluZyA9 IFBRZm51bWJlcihyZXMsICJlbmNvZGluZyIpOworCWZvciAoaW50IHJvd25vID0gMDsgcm93bm8g PCBudHVwczsgcm93bm8rKykKKwl7CisJCWNoYXIJICAgKmRhdG5hbWUgPSBQUWdldHZhbHVlKHJl cywgcm93bm8sIGlfZGF0bmFtZSk7CisJCWludAkJCWVuY29kaW5nID0gYXRvaShQUWdldHZhbHVl KHJlcywgcm93bm8sIGlfZW5jb2RpbmcpKTsKKworCQlpZiAoIVBHX1ZBTElEX0JFX0VOQ09ESU5H KGVuY29kaW5nKSkKKwkJeworCQkJaWYgKHNjcmlwdCA9PSBOVUxMICYmIChzY3JpcHQgPSBmb3Bl bl9wcml2KG91dHB1dF9wYXRoLCAidyIpKSA9PSBOVUxMKQorCQkJCXBnX2ZhdGFsKCJjb3VsZCBu b3Qgb3BlbiBmaWxlIFwiJXNcIjogJW0iLCBvdXRwdXRfcGF0aCk7CisKKwkJCWZwcmludGYoc2Ny aXB0LCAiJXNcbiIsIGRhdG5hbWUpOworCQl9CisJfQorCVBRY2xlYXIocmVzKTsKKwlQUWZpbmlz aChjb25uKTsKKworCWlmIChzY3JpcHQpCisJeworCQlmY2xvc2Uoc2NyaXB0KTsKKwkJcGdfbG9n KFBHX1JFUE9SVCwgImZhdGFsIik7CisJCXBnX2ZhdGFsKCJZb3VyIGluc3RhbGxhdGlvbiBjb250 YWlucyBkYXRhYmFzZXMgdXNpbmcgZW5jb2RpbmdzIHRoYXQgYXJlXG4iCisJCQkJICJubyBsb25n ZXIgc3VwcG9ydGVkLiAgQ29uc2lkZXIgZHVtcGluZyBhbmQgcmVzdG9yaW5nIHdpdGggVVRGOC5c biIKKwkJCQkgIkEgbGlzdCBvZiBkYXRhYmFzZXMgd2l0aCB1bnN1cHBvcnRlZCBlbmNvZGluZ3Mg aXMgaW4gdGhlIGZpbGU6XG4iCisJCQkJICIgICAgJXMiLCBvdXRwdXRfcGF0aCk7CisJfQorCWVs c2UKKwkJY2hlY2tfb2soKTsKK30KKworCiAvKgogICoJY2hlY2tfZm9yX3ByZXBhcmVkX3RyYW5z YWN0aW9ucygpCiAgKgotLSAKMi41My4wCgo= --00000000000024a32d064eec313a--