mirror of
https://github.com/element-hq/synapse.git
synced 2025-12-05 01:10:13 +00:00
Remove support for PostgreSQL 13 (#19170)
This PR removes support for PostgreSQL 13 as it is deprecated (tomorrow). Uses https://github.com/element-hq/synapse/pull/18034 as a reference of where to look, and also found a few other places that needed updating. I didn't see anywhere in Complement that needs updating. There is a companion Sytest PR deprecating psql13 over there: https://github.com/matrix-org/sytest/pull/1418 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
This commit is contained in:
@@ -72,7 +72,7 @@ trial_postgres_tests = [
|
|||||||
{
|
{
|
||||||
"python-version": "3.10",
|
"python-version": "3.10",
|
||||||
"database": "postgres",
|
"database": "postgres",
|
||||||
"postgres-version": "13",
|
"postgres-version": "14",
|
||||||
"extras": "all",
|
"extras": "all",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@@ -617,7 +617,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- python-version: "3.10"
|
- python-version: "3.10"
|
||||||
postgres-version: "13"
|
postgres-version: "14"
|
||||||
|
|
||||||
- python-version: "3.14"
|
- python-version: "3.14"
|
||||||
postgres-version: "17"
|
postgres-version: "17"
|
||||||
|
|||||||
1
changelog.d/19170.removal
Normal file
1
changelog.d/19170.removal
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Remove support for PostgreSQL 13.
|
||||||
@@ -11,7 +11,7 @@ ARG SYNAPSE_VERSION=latest
|
|||||||
ARG FROM=matrixdotorg/synapse-workers:$SYNAPSE_VERSION
|
ARG FROM=matrixdotorg/synapse-workers:$SYNAPSE_VERSION
|
||||||
ARG DEBIAN_VERSION=trixie
|
ARG DEBIAN_VERSION=trixie
|
||||||
|
|
||||||
FROM docker.io/library/postgres:13-${DEBIAN_VERSION} AS postgres_base
|
FROM docker.io/library/postgres:14-${DEBIAN_VERSION} AS postgres_base
|
||||||
|
|
||||||
FROM $FROM
|
FROM $FROM
|
||||||
# First of all, we copy postgres server from the official postgres image,
|
# First of all, we copy postgres server from the official postgres image,
|
||||||
@@ -26,7 +26,7 @@ RUN adduser --system --uid 999 postgres --home /var/lib/postgresql
|
|||||||
COPY --from=postgres_base /usr/lib/postgresql /usr/lib/postgresql
|
COPY --from=postgres_base /usr/lib/postgresql /usr/lib/postgresql
|
||||||
COPY --from=postgres_base /usr/share/postgresql /usr/share/postgresql
|
COPY --from=postgres_base /usr/share/postgresql /usr/share/postgresql
|
||||||
COPY --from=postgres_base --chown=postgres /var/run/postgresql /var/run/postgresql
|
COPY --from=postgres_base --chown=postgres /var/run/postgresql /var/run/postgresql
|
||||||
ENV PATH="${PATH}:/usr/lib/postgresql/13/bin"
|
ENV PATH="${PATH}:/usr/lib/postgresql/14/bin"
|
||||||
ENV PGDATA=/var/lib/postgresql/data
|
ENV PGDATA=/var/lib/postgresql/data
|
||||||
|
|
||||||
# We also initialize the database at build time, rather than runtime, so that it's faster to spin up the image.
|
# We also initialize the database at build time, rather than runtime, so that it's faster to spin up the image.
|
||||||
|
|||||||
@@ -117,6 +117,14 @@ each upgrade are complete before moving on to the next upgrade, to avoid
|
|||||||
stacking them up. You can monitor the currently running background updates with
|
stacking them up. You can monitor the currently running background updates with
|
||||||
[the Admin API](usage/administration/admin_api/background_updates.html#status).
|
[the Admin API](usage/administration/admin_api/background_updates.html#status).
|
||||||
|
|
||||||
|
# Upgrading to v1.143.0
|
||||||
|
|
||||||
|
## Dropping support for PostgreSQL 13
|
||||||
|
|
||||||
|
In line with our [deprecation policy](deprecation_policy.md), we've dropped
|
||||||
|
support for PostgreSQL 13, as it is no longer supported upstream.
|
||||||
|
This release of Synapse requires PostgreSQL 14+.
|
||||||
|
|
||||||
# Upgrading to v1.142.0
|
# Upgrading to v1.142.0
|
||||||
|
|
||||||
## Python 3.10+ is now required
|
## Python 3.10+ is now required
|
||||||
|
|||||||
@@ -99,8 +99,8 @@ class PostgresEngine(
|
|||||||
allow_unsafe_locale = self.config.get("allow_unsafe_locale", False)
|
allow_unsafe_locale = self.config.get("allow_unsafe_locale", False)
|
||||||
|
|
||||||
# Are we on a supported PostgreSQL version?
|
# Are we on a supported PostgreSQL version?
|
||||||
if not allow_outdated_version and self._version < 130000:
|
if not allow_outdated_version and self._version < 140000:
|
||||||
raise RuntimeError("Synapse requires PostgreSQL 13 or above.")
|
raise RuntimeError("Synapse requires PostgreSQL 14 or above.")
|
||||||
|
|
||||||
with db_conn.cursor() as txn:
|
with db_conn.cursor() as txn:
|
||||||
txn.execute("SHOW SERVER_ENCODING")
|
txn.execute("SHOW SERVER_ENCODING")
|
||||||
|
|||||||
Reference in New Issue
Block a user