diff --git a/changelog.d/11847.misc b/changelog.d/11847.misc
new file mode 100644
index 0000000000000000000000000000000000000000..5c3b2bcaf4e5832d3716cfaf7d4f5826eef734f2
--- /dev/null
+++ b/changelog.d/11847.misc
@@ -0,0 +1 @@
+Preparation for reducing Postgres serialization errors: allow setting transaction isolation level. Contributed by Nick @ Beeper.
diff --git a/synapse/storage/database.py b/synapse/storage/database.py
index 7455326ed331c3c663aab97a0a7a165c8b5051a5..99802228c9f72c0acd0a46c8a0714ed2ef2ee335 100644
--- a/synapse/storage/database.py
+++ b/synapse/storage/database.py
@@ -748,6 +748,7 @@ class DatabasePool:
                     func,
                     *args,
                     db_autocommit=db_autocommit,
+                    isolation_level=isolation_level,
                     **kwargs,
                 )