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 1waMGV-001kB6-25 for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 23:35:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1waMGU-00E4zY-1X for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 23:35:18 +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 1waMGU-00E4zQ-0d for pgsql-hackers@lists.postgresql.org; Thu, 18 Jun 2026 23:35:18 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1waMGS-000000013J5-3erG for pgsql-hackers@lists.postgresql.org; Thu, 18 Jun 2026 23:35:17 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.18.1/8.18.1) with ESMTP id 65INZEmS1408167; Thu, 18 Jun 2026 19:35:14 -0400 From: Tom Lane To: Jacob Champion cc: PostgreSQL Hackers Subject: Re: PG20 Minimum Dependency Thread In-reply-to: <1403990.1781821566@sss.pgh.pa.us> References: <1399933.1781817745@sss.pgh.pa.us> <1403990.1781821566@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Thu, 18 Jun 2026 18:26:06 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1408165.1781825714.1@sss.pgh.pa.us> Date: Thu, 18 Jun 2026 19:35:14 -0400 Message-ID: <1408166.1781825714@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk I wrote: > Now maybe we can finesse that, like "you can build PL/Python and > associated contrib modules with Python >= X, but if you want to > run these optional tests, they require Python >= Y". Not sure > how comfortable I am with that. I definitely don't want to get > into a situation where we require buildfarm owners to have > Python >= Y installed, because then we will not have any testing > that proves we didn't break the other part. (So we'd need a > runtime check to skip these tests on too-old Python.) Granting that our pytest framework should silently give up if Python is too old, the decision of which minimum version to target is really kind of independent of what PL/Python does. It becomes a tradeoff of ease of coding versus "how many platforms do you want this test to be able to run on?". I have no insight on what the coding benefits are of different Python versions, but I do have this freshly-scraped data about how many buildfarm members are reporting which major Python version: 3 3.5 39 3.6 5 3.7 5 3.8 39 3.9 6 3.10 21 3.11 45 3.12 48 3.13 12 3.14 2 3.15 Just eyeing that, it seems like 3.9 or 3.11 would be choices that still allow most animals to run the tests. regards, tom lane