--- PGBuild/Modules/TestUpgradeXversion.pm~	2025-11-25 07:47:25.000000000 -0500
+++ PGBuild/Modules/TestUpgradeXversion.pm	2026-02-23 20:57:31.640149574 -0500
@@ -483,9 +483,17 @@ sub test_upgrade    ## no critic (Subrou
 		$dump_opts .= ' --extra-float-digits=0';
 	}
 
+	# with very old servers we must restrict the protocol version.
+	my $maxpversion = "";
+	if (   ($this_branch eq 'HEAD' || $this_branch gt 'REL_18_STABLE')
+		&& ($oversion ne 'HEAD' && $oversion le 'REL_9_2_STABLE'))
+	{
+		$maxpversion = '-d max_protocol_version=3.0';
+	}
+
 	# use the NEW pg_dumpall so we're comparing apples with apples.
 	setinstenv($self, "$installdir", $save_env);
-	system( qq{"$installdir/bin/pg_dumpall" $dump_opts -p $sport -f }
+	system( qq{"$installdir/bin/pg_dumpall" $dump_opts $maxpversion -p $sport -f }
 		  . qq{"$upgrade_loc/origin-$oversion.sql" }
 		  . qq{> "$upgrade_loc/$oversion-dump1.log" 2>&1});
 	return if $?;
