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.94.2) (envelope-from ) id 1uqi0C-00BgC4-GS for pgsql-hackers@arkaria.postgresql.org; Tue, 26 Aug 2025 00:57:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uqi0B-00GcMw-VO for pgsql-hackers@arkaria.postgresql.org; Tue, 26 Aug 2025 00:57:32 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uqi0B-00GcMo-Ek for pgsql-hackers@lists.postgresql.org; Tue, 26 Aug 2025 00:57:32 +0000 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uqi09-001rc1-1E for pgsql-hackers@postgresql.org; Tue, 26 Aug 2025 00:57:31 +0000 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-7704f3c46ceso1741850b3a.2 for ; Mon, 25 Aug 2025 17:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leadboat.com; s=google; t=1756169847; x=1756774647; darn=postgresql.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=7xpj7FLI18HN/ija9GFRUtQ/DpaN6XjJ0KRzw9Bo/Mw=; b=gVqM3/iu6i4eTaaNt0tCZQ1/m9TPBGXKRmLd1HZbl02tPzI7waN0FjpgM7LN3b1Zhz ZmUOGtyGE2ME6dDoGEVbVBbYNSnbO28U43B8tLowt2TNwac8QAlQxg6K+drcbyL72DG8 TZLizVXx85E/gjug66hV0QTJOhP8mlwW0iLVo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756169847; x=1756774647; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7xpj7FLI18HN/ija9GFRUtQ/DpaN6XjJ0KRzw9Bo/Mw=; b=NECpHhjlC1EKDHHfX8pD/VrMDX884OcKvjFyN02zxNFyyl51mfo/9Mvs6ZJt+DZzw4 N8Unu24MrdEN0i1vrjX+j9EjGMs7yBOhOxtWJsOZWTJjLtpsykJnhn8BDFkcVw5x6SQ/ ChV9ihYviePUAs3NC/ZOApEsm80CbQ3sDmpRf7FnIbUYvyaxWDjFv5FdA12C8+HaHrlg aeeuQauAPKRXDPijNHrkkW0VppuSZiO4hMvr/W/019f1Lz+uCf225i9+Zd1y0tFznLyX 1LTKr9UddQ+vTN/vGzmNPrVk2FpcSycgF1DtOLgG+30CI8VfNRoeM9xDhb4aMTYoaSwi 6XsA== X-Forwarded-Encrypted: i=1; AJvYcCUtv/iwS5ox2qyOES14LGwx2SeHSkakn4+e7Fw1kLt2amhVU71z4PdlBQrEa6OjdLmbi7SFSxUr4kH6G4zg@postgresql.org X-Gm-Message-State: AOJu0YyOUP+vQp8cw7+lXgVb/IQc6XjfluD0neB/4F6vh5JiLzqsySs9 eFrdJ8pUDtEhPUtkfYr/8S6X3YE+O6/AVqBTlCcDHSCAOfjmgVQpMKLZCsefIUgSrg== X-Gm-Gg: ASbGncthhK4aNogNGI+nEzMaIBQfBb7raP/E6LkFUWiB2poONDGJ9wmNgJkrcuFIzfV OH/ci7NYkjQpYcFUp39TQJBW6FxqHuGyF+MGUYvS4qsMgu/qqEsMI3xlMh7Goen0e6m2QME8jqm AgE/GmpZzKGDia41Z21DuOytPSJq9/chboUDAmDWkF/5lFKwYkFdL/BY+r54EhFYSwbh/39KIVm zVg/t7LF88FyUrH4YvLOwXiIji07B7yObIEiMkdiremrnRyNtm6bIHTU/OH8bB0DLyLP2ShZQAQ 1CgmuKVGHtoTeUkPlazkxtQsBS0tzXQ23+Quo7JYjr2lqklifnVw5PtPlZWrq1nnZQoDGgbBEmW 62K95AgYaLTqM4MTTG8GbUpEJdBq291miwvkXk45o/6eRTsn+nrxwT5EXddiFKw== X-Google-Smtp-Source: AGHT+IHOZevVTl2rtJAPRrW1lTzqNNtD2QA+3G0OukAU0HA3W+Wo9KVcTMfiE/vRD+mzDVsdJv9nEQ== X-Received: by 2002:a05:6a20:12c2:b0:235:7452:5859 with SMTP id adf61e73a8af0-24340d2d8cfmr18409589637.30.1756169846611; Mon, 25 Aug 2025 17:57:26 -0700 (PDT) Received: from google.com (c-73-15-160-255.hsd1.ca.comcast.net. [73.15.160.255]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b4c2fa170b7sm407961a12.3.2025.08.25.17.57.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Aug 2025 17:57:25 -0700 (PDT) Date: Mon, 25 Aug 2025 17:57:24 -0700 From: Noah Misch To: Andres Freund Cc: Tom Lane , Kirill Reshke , Alexander Lakhin , pgsql-hackers@postgresql.org, Robert Haas Subject: Re: Test instability when pg_dump orders by OID Message-ID: <20250826005724.ed.nmisch@google.com> References: <20250810163659.71.nmisch@google.com> <20250823052019.43.nmisch@google.com> <20250823144505.88.nmisch@google.com> <3th37rt7erqwk3rj63kozbbt2p2rxfg4inz54p77jvq7usojqu@vo2w2gdugz5w> <163245.1756050601@sss.pgh.pa.us> <20250824160816.06.nmisch@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.2.12 (2023-09-09) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Aug 25, 2025 at 05:15:55PM -0400, Andres Freund wrote: > On 2025-08-24 09:08:16 -0700, Noah Misch wrote: > > On Sun, Aug 24, 2025 at 11:50:01AM -0400, Tom Lane wrote: > > > Andres Freund writes: > > > > I wonder if it's worth adding support to CI to perform the cross-version > > > > upgrade test. It'd be pretty easy to install all pgdg apt postgres packages to > > > > the debian image, which then could be used as the source version... > > > > I think catching this particular case would take more than that. It entails > > running the latest v16 src/test/regress suite, capturing the dump of that into > > $animal_root/upgrade.$animal/REL_16_STABLE/*.sql, and seeing the upgrade > > failure of that dump having the latest v16 regression objects. I don't know > > how to get there without a v16 source tree. > > Ah, ok, that does make it less worthwhile to go after. > > > > I feel that that's the wrong tradeoff. CI should be expected to be > > > fairly cheap, not to catch everything the buildfarm could catch. > > I think it's also about removing painful manual testing - and imo manually > running cross-version pg_upgrade tests is really rather painful. I make the buildfarm client drive it. That was painful to set up the first time[1], but the per-run manual pain isn't bad. A run of all supported branches takes hours of wall time, though. There are some optimization opportunities, but it hasn't come up often enough to make those compelling for me to implement. [1] For example, there's no one OpenSSL version compatible with all of v9.2 - v19. Disabling SSL doesn't solve that: some versions then disable pgcrypto, and the upgrade test fails for pgcrypto being absent on one side of the upgrade. I settled on SSL only for the versions where pgcrypto requires it. Version-dependent LD_LIBRARY_PATH etc. likely would have been an alternative.