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 1whW60-000H1J-0X for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Jul 2026 17:30:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1whW5y-008Rl1-1N for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Jul 2026 17:30:03 +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.96) (envelope-from ) id 1whW5y-008Rkj-0K for pgsql-hackers@lists.postgresql.org; Wed, 08 Jul 2026 17:30:02 +0000 Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1whW5v-00000000JS5-0061 for pgsql-hackers@lists.postgresql.org; Wed, 08 Jul 2026 17:30:01 +0000 Received: by mail-qk1-x734.google.com with SMTP id af79cd13be357-92ea24a2dbfso67815385a.0 for ; Wed, 08 Jul 2026 10:29:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783531797; cv=none; d=google.com; s=arc-20260327; b=j4qxgbKIjnwHHCJ92DqvUR0G9V7Ay/XZVq8nNVd7haU/a3smLfdyeXVogqGmgoA9PV ynm7IDJpAJf0e++tyvdsxNu8G8PwGTshwnfBp3FlBUFL9f46yQ6ejGBrTsbM9Sk38qTq 4hOgU7F0SwWUrXs7HLR5Vl6bZZ7QdIhWINs3X7zV0bu4MteGc8SPYGSZhHzPynR3hzgg X3SONkKidp7fp7zMlzQ/6PQ6fwXKxlslIpXmzVElYLsMCESZmDPLI37pXPKlrGrmiyN4 PgBCsKnB0hPbSH2XFjdiIAOePeD3u0JYe0OsGmxBvJYZl4H0NZwRKp5BOU+RUCN4osKj iYrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=I+R4E6sqvZo1R0/uYxUCQ3Su803AqOrnNqSuy9hM6Ig=; fh=YhmxPC0NYagsxVMppzYMgO0XMWsRSWzMegLjmIklu8U=; b=p8FDhKJ5J02B82pFMwLMi4AyFPIlf1zjje8iGQvxNUOArz7yD9kXC/sbyppkhVtOip LzsTie0VAFFb9GJa8pGh2cj02npYXzVecNYsG1lmNxq/PzTl8JUT+GI37RLS1SHeJtdI 0Va7bGv6PcRAuD0Pnl1hrhvTSmkbzRQiBj2xo7s4YPofNhvQViCkY6Ubx3XVH1s8U4st rkayIMatnH8hMkbQzad+Z1OpX9Uiie8LkFosw9ek5/ax9dYFZhsFmjI6YpY1RDkIWTNt kTEgC+6AvAYXxidk66GpIyki462wmBrAPy3vfP0ced8e0kBW6vCm+M8vjAhsfdGJ8+4e Bm3g==; 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=enterprisedb.com; s=google; t=1783531797; x=1784136597; darn=lists.postgresql.org; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:in-reply-to:references:mime-version:from:to:cc:subject :date:message-id:reply-to:content-type; bh=I+R4E6sqvZo1R0/uYxUCQ3Su803AqOrnNqSuy9hM6Ig=; b=Z1iGnUDw9kiGV4dq/OeVbu2Gl7SAyeXKciEktTLYiSe0+iJqMY23fFSQzAf5lCcVFX hAiO9lhkmevSb1BM4G7haFiZ+hk65Fncv2ABQY92MFmrfQYYJkhJp6YlsKs60S0sblEH iRti0v/6N1x7EpkGykfUPxkOceWmLGshePr53K9JNw1kHMxjPREwWg6g3jHh58UimDQF VqYf+/TLPz+1+4/+GLj/H6Gs81p0oKTSnQ5CVAKjaIe0nAFDhjdzSN1QxqminZY5drdh R9m96EERZPbhIXYA1ACuCaOLwIMo3a/wbtzziu8h6RDbFXVI52Ky8SzNU/zfMhoVbVnz 0gFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783531797; x=1784136597; h=content-transfer-encoding:content-type: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 :content-type; bh=I+R4E6sqvZo1R0/uYxUCQ3Su803AqOrnNqSuy9hM6Ig=; b=V9eXD7/7UkNbIk7eK1n1Kkt3OjM350L1fyuPrUgG7ydDRHrLtzQCzlNcCMJbH3OZK9 AtO9TuzaPOy8R6AbO5cNyKOIrv5QIwKfFJ1drK8Ert3X6llKU8sHw7lzXYNK+4/FNcgf +oE8OMQCFiFlWwA77EMCh8+7YoLMOOf5aN2pi7ClDL2puBZGsgm91piaYfCbohSyXdR/ TPXRBH37NEjP2ZoSepVOfJWN0Xa6U+SkFYy5Ch9OVfZ5FeacIZMoQRiPgTQlGjYDyEI2 j3LoL0kurWVRK+U3sxHgdofEVEjSu8tfrFfmZDKGUiPiKz6+LG8+2jru4VYao0dzeL4K fGfA== X-Gm-Message-State: AOJu0Yz2tEhy73sejehLa3AeaacVkFyOzm3mlQzMTks+WWoQHdISTnCv GSMWerJD5Aw+Xg0YR83W6lP+Awxyn8M3Xt9cmxi7tuhxlcjPaJf/y/mndve8TGdBw6wXFXFI8+Z BT8H5BsYNA1Cgk2ycDmpbY3VkwgGKNP3VoP04rFZUv8bmVaqR7YLrNR2l X-Gm-Gg: AfdE7cne4uWsu3uWubMLWzjvYWIw2vc0a7tTBqSqz5dmesusPj6xMaaDzNvyY+0zx5E 2Xu61W+ls2Tzvcc4a7B0OXv/WCtp9SUtusGWNaJPgDogsstDEgePKqGuBFduraRmBSo7ODR2YMc KowfHw9wy6OI2aejBlMwdYKwmyaS/zKfkabBw4TdUso3aewLdAnmtGp+50EVaPqedEPgmIIYYRK yy4Bcb2EaytR0h42nz85GI6iVG0JgYSKp9Yv6qnABKvRcou+5u7NmOuXiKBzP/8f0YVyUTiUxo= X-Received: by 2002:a05:620a:6cc5:b0:92e:c117:9ea2 with SMTP id af79cd13be357-92ecf8edac8mr332712285a.80.1783531797000; Wed, 08 Jul 2026 10:29:57 -0700 (PDT) MIME-Version: 1.0 References: <1399933.1781817745@sss.pgh.pa.us> <1403990.1781821566@sss.pgh.pa.us> <1408166.1781825714@sss.pgh.pa.us> In-Reply-To: From: Jacob Champion Date: Wed, 8 Jul 2026 10:29:45 -0700 X-Gm-Features: AVVi8CeynkSv-xkrd13Q-O-P5xqJ-0BHAgU-FPR-X-WOJTHa3rI_i4gjgc3s034 Message-ID: Subject: Re: PG20 Minimum Dependency Thread To: Tom Lane Cc: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, Jun 19, 2026 at 11:18=E2=80=AFAM Jacob Champion wrote: > Solaris 11.3 was released in October 2015, with Python 2.6, 2.7, and > 3.6. Standard support ended in 2021. So with your stricter reading of > the OS support policy, and N=3D3, it's lucky that we happened to drop > Python 2 support already. Otherwise, Solaris 11.3 would pin Python 2.6 > support until PG17 drops off the matrix in 2028, fifteen years after > end of life. I pulled some data from the endoflife.date project [1] (which I haven't completely verified yet, but seems to be at least somewhat accurate). For a presumed PG20 release on 2027-09-23, our trailing edge of distro support might look something like below. Conclusions up front: OpenSSL 1.1.1 is a problem. With N=3D2, we'd drop SLES 12.5, which appears to be the final non-Oracle barrier to exit. (And I think we should just declare 1.1.1 unsupported for PG20, regardless of N, but in any case this gives weight to my preference of N=3D2.) I additionally think we should take Solaris and Oracle Linux out of the standard classification of "LTS". People who want to pay Oracle for extended support of out-of-date Postgres versions are free to do so without tying our development to RHEL8-vintage (or older) dependencies for the next seven(!) years, or forcing us to lock into an arbitrary snapshot of the Solaris rolling releases. We already don't support OL7 because of OpenSSL 1.0.2. If we did that, Python 3.9 looks within reach for PG20, which seems reasonable considering it'll already have been dead for two years. (It looks like LTS support for a spectrum of Pythons is now the norm rather than the exception, and we should start making decisions accordingly.) That'd only be a roadbump for our SUSE buildfarm owners, who'd need to install an additional package beside the base Python 3.6 in order to run Python scripts. =3D LTS Distros (N=3D3) =3D Amazon Linux 2023 (End of Service 2027, End of Life 2029) - Python 3.9 to 3.14+ - OpenSSL 3.0 Debian 12 Bookworm (EoS 2026, EoL 2028) - Python 3.11 - OpenSSL 3.0 Oracle Linux 7 (EoS 2024-12, EoL 2028) - Python 3.6 to 3.8 - OpenSSL 1.0.2 (!!) RHEL/Rocky/Alma/CentOS Stream 9 (EoS 2027, EoL 2032/2035) - Python 3.9 to 3.12+ - OpenSSL 3.0 (3.2? 3.5?) SLES 12.5 (EoS 2024-10, EoL 2027) - Python 3.4 to 3.6 - OpenSSL 1.1.1 (!) Solaris 11.4 (EoS 2031, EoL 2037) - Python 3.9 to 3.11 (rolling?) - OpenSSL 3.0 (3.5 planned?) Ubuntu 22.04 Jammy (EoS 2024-09, EoL 2027/2032) - Python 3.10 to 3.11 - OpenSSL 3.0 Windows 11 24H2 Enterprise (EoS 2027, EoL 2029/2034) Windows Server 2022 (EoS 2026, EoL 2031) =3D LTS Distros (N=3D2) =3D Only a few change: Oracle Linux 8 (EoS 2029, EoL 2032) - Python 3.8 to 3.12+ - OpenSSL 1.1.1 (!) SLES 15.6 (EoS 2025-12, EoL 2028) - Python 3.6 to 3.12+ - OpenSSL 3.1 Ubuntu 24.04 Noble (EoS 2029, EoL 2036) - Python 3.12 - OpenSSL 3.0 =3D Non-LTS Distros (N=3D0?) =3D I don't think this was explicitly discussed, but hopefully no one feels the need to guarantee support for non-LTS distributions that go EoL before we even release. (I.e. N is effectively zero for those distros.) But buildfarm operators still need some baseline, and here's what I think they could be for PG20: AIX 7.2 TL5 (EoL TBD?) - Python 3.10+ (?) - OpenSSL 3.0 Alpine 3.23 (EoL 2027-11) - Python 3.12 - OpenSSL 3.5 Fedora 45 (EoL 2027-11) - probably Python 3.15 - probably OpenSSL 4.0 FreeBSD 14.x (EoL 2028) - Python 3.11+ - OpenSSL 3.0 macOS 15 (Sequoia) (EoL 2027-09) NetBSD 10.x (EoL TBD) - Python 3.11 to 3.14 - OpenSSL 3.0 OpenBSD 8.0 (EoL TBD) - Python 3.11 to 3.14 - LibreSSL 4.4 OpenIndiana Hipster 2027.x (EoL TBD) - probably Python 3.14+ - probably OpenSSL 4.0 OpenSUSE Leap 16.0 (EoL 2027-10) - Python 3.13 - OpenSSL 3.5 Thanks, --Jacob [1] https://github.com/endoflife-date/endoflife.date