Closed (fixed)
Project:
Drupal core
Version:
10.0.x-dev
Component:
database system
Priority:
Critical
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
2 Jan 2021 at 09:08 UTC
Updated:
4 Oct 2021 at 10:04 UTC
Jump to comment: Most recent
Comments
Comment #2
daffie commentedUpdate for RHEL 8.1.1. It ships with PostgreSQL 12. See: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8...
Comment #3
catchBumping to critical since this blocks Drupal 10, and we'll want to announce (and potentially add hook_requirements() warnings or similar) in advance of the release.
Requiring PostgreSQL 12 seems very reasonable.
Comment #4
gábor hojtsyMake proposal clear in title.
Comment #5
effulgentsia commentedPer https://access.redhat.com/support/policy/updates/rhel8-app-streams-life-..., RHEL will support PostgreSQL 10 until May 2024. But since Drupal 10 will need to be supported until Nov. 2025, I agree with requiring PostgreSQL 12, and leaving PostgreSQL 10 support as a job for D10 contrib for those RHEL 8 users who want to keep using PostgreSQL 10 (despite higher versions being also available on RHEL) between Drupal 10.0's release and May 2024.
Comment #6
effulgentsia commentedWhen I wrote that, I was assuming we'd EOL D10 with Symfony 5's EOL. However, it's theoretically possible we might want to push D10's EOL to as far back as Symfony 6's EOL of November 2027. Ubuntu 20.04's ESM will run until 2030, so if we start D10 on PostgreSQL 12, I think we'll need to keep supporting that until D10's EOL, even if it's all the way to November 2027. I'm ok with that. What about others? Are we willing to live with PostgreSQL 12 for that long?
Comment #7
daffie commentedIf we are going to support D10 for that long, then we should be open to raise to minimum required version for all by core supported databases. Just like we shall need to do with the minimum required version of PHP.
With that in mind, a minimum required version of PostgreSQL 12 is good for me.
Comment #8
catchhttps://www.postgresql.org/support/versioning/
Final release for postgresql 12 is November 14, 2024
We should, but we haven't actually dropped any PHP version support in Drupal 9, it's still being discussed in #2917655: [9.4.x only] Drop official PHP 7.3 support in Drupal 9.4, and also issues like #3223435: Track PHP 8.1 support in hosting and distributions, so we have to be prepared for the possibility that we never actually get around to dropping support, since that's the default if no-one pushes for it.
In practice, it's not often we hit a real issue with older database versions, so the main issues are having to run tests on extra DrupalCI environments, vs. the effort it takes to drop support for something (core patches, timing, announcements etc.).
When it comes to adopting new database features, I think it's easy to just say it'll happen in Drupal 11. If postgres 12 becomes a barrier to fixing a major/critical bug, then we could end up getting stuck (as with PHP versions and other database versions) - this would either be early enough in the Drupal 10 cycle to drop support after all, or late enough that the bug ends being fixed only in Drupal >= 11.
I've updated the issue summary to add that RHEL 8.4 ships with PostgreSQL 13 (according to https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8...).
It does look like we could just about get away with requiring PostgreSQL 13 if we wanted to?
Comment #9
daffie commentedWe can do that, only we shall then no longer support Ubuntu 20.04 with PostgreSQL. The main thing for me would be an EOL of November 2025 instead of November 2024. I do not see any features in the release for PostgreSQL v13 that would be very interesting for Drupal. See: https://www.postgresql.org/docs/13/release-13.html.
Comment #10
effulgentsia commentedI have no confidence that we'll be able to drop PostgreSQL 12 support from D10 if we include it in 10.0. As far as I know, we have never in the past dropped support for a database version, even an EOL one, within a Drupal major release (even 6, 7, and 8, that have each had very long lifetimes). There will be people on Ubuntu 20.04 using Ubuntu's ESM until 2030.
That said, if we release Drupal 11 in 2025'ish, then we can set that to whatever PostgreSQL version makes sense at that time, at which point the PostgreSQL 12 support burden (whatever that ends up being) in 2026/2027 will just be for post-Drupal-11.0 bug fixes that we want to backport to D10.
Comment #11
effulgentsia commentedNo arguments have been presented here for setting the minimum below PostgreSQL 12.
As to setting the minimum higher than 12, while there might be theoretical problems with PostgreSQL 12 EOLing before D10 EOLs, #8 and #9 indicate that it's unlikely to cause us much difficulty in practice. Meanwhile, I think we'd need a pretty compelling reason to raise the minimum above what's on Ubuntu 20.04, and per above, we have no such compelling reason.
Therefore, RTBC'ing this at PostgreSQL 12.
Comment #12
daffie commented+1 for RTBC.
I would like to say that for me as somebody who works a lot with the Drupal database subsystem, that supporting database versions that are released a long time ago and are past their EOL is not very exiting. Having a new major release of Drupal core every 3 years would be great. Like just after the release of a new Symfony major version. Just my 2 cents. Feel free to disagree.
Comment #13
larowlan+1, the distro support and timeframes above make sense to me
Comment #14
catchAdded to https://www.drupal.org/docs/system-requirements/database-server-requirem... and the change record.