diff --git a/config/database.yml b/config/database.yml
index 2662a3894aaf16cf5e488c9f03e58e5297eb6af3..073153c1e123ad3de8c8ac93945d9fe0c9286762 100644
--- a/config/database.yml
+++ b/config/database.yml
@@ -1,5 +1,5 @@
 default: &default
-  pool: 9
+  pool: 5
   timeout: 5000
 
 development:
@@ -22,3 +22,5 @@ production:
   username: <%= ENV['DB_USERNAME'] %>
   password: <%= ENV['DB_PASSWORD'] %>
   pool: <%= ENV['DB_POOL_SIZE'] || '9' %>
+  connect_timeout: <%= ENV['DB_CONNECT_TIMEOUT'] || '5' %>
+  read_timeout: <%= ENV['DB_READ_TIMEOUT'] || '120' %>
diff --git a/sample.env b/sample.env
index 7ab2c1d8d67512370314d50b86c9bfce1893b523..12a76e03092dd30d06253d812bb119030fc0a752 100644
--- a/sample.env
+++ b/sample.env
@@ -259,7 +259,7 @@ ENABLE_SSL=true
 # Database settings
 #
 # Greenlight may work out of the box with sqlite3, but for production it is recommended to use postgresql.
-# In such case, these variables must be included.
+# In such case, these variables must be included:
 #
 # DB_ADAPTER=postgresql
 # DB_HOST=postgres.example.com
@@ -267,11 +267,19 @@ ENABLE_SSL=true
 # DB_NAME=greenlight_production
 # DB_USERNAME=postgres
 # DB_PASSWORD=password
+#
+# The ActionCable-Workers require 4 connections. So, when using postgres as the CABLE_ADAPTER
+# make sure the Database can handle the overall connection count calculated as follows:
+#    ( RAILS_MAX_THREADS + 4 ) * WEB_CONCURRENCY
+# So DB_POOL_SIZE should be set to RAILS_MAX_THREADS + 4
+#
 # DB_POOL_SIZE=9
 #
-# DB_POOL_SIZE should be set to RAILS_MAX_THREADS + 4
-# The ActionCable-Workers require 4 connections.
-# Make sure your Database can handle the overall connection count calculated as follows: ( RAILS_MAX_THREADS + 4 ) * WEB_CONCURRENCY
+# Additionally, there may be cases where the database has errors so the old db connections became stale.
+# In order to overcome the lost of connections, it is recommended to add a timeout.
+#
+# DB_CONNECT_TIMEOUT=5
+# DB_READ_TIMEOUT=120
 #
 # For deployments based on the docker-compose script also included, the HOST should be set with the Docker container id.
 #
@@ -281,7 +289,6 @@ DB_PORT=5432
 DB_NAME=greenlight_production
 DB_USERNAME=postgres
 DB_PASSWORD=password
-DB_POOL_SIZE=9
 
 # Use postgresql to handle ActionCable connections by default
 CABLE_ADAPTER=postgresql