diff --git a/CHANGELOG.md b/CHANGELOG.md
index 37df345ed..c8f3794a3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -38,6 +38,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - Rate limiter is now disabled for localhost/socket (unless remoteip plug is enabled)
 - Logger: default log level changed from `warn` to `info`.
 - Config mix task `migrate_to_db` truncates `config` table before migrating the config file.
+- Default to `prepare: :unnamed` in the database configuration.
 <details>
   <summary>API Changes</summary>
 
diff --git a/config/config.exs b/config/config.exs
index 9c4eb70a3..2cd741213 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -624,7 +624,9 @@
 
 config :pleroma, configurable_from_database: false
 
-config :pleroma, Pleroma.Repo, parameters: [gin_fuzzy_search_limit: "500"]
+config :pleroma, Pleroma.Repo,
+  parameters: [gin_fuzzy_search_limit: "500"],
+  prepare: :unnamed
 
 # Import environment specific config. This must remain at the bottom
 # of this file so it overrides the configuration defined above.
diff --git a/docs/installation/otp_en.md b/docs/installation/otp_en.md
index aab5197a2..32551f7b6 100644
--- a/docs/installation/otp_en.md
+++ b/docs/installation/otp_en.md
@@ -73,6 +73,15 @@ rc-service postgresql restart
 systemctl restart postgresql
 ```
 
+If you are using PostgreSQL 12 or higher, add this to your Ecto database configuration
+
+```elixir
+prepare: :named,
+parameters: [
+  plan_cache_mode: "force_custom_plan"
+]
+```
+
 ### Installing Pleroma
 ```sh
 # Create a Pleroma user