diff --git a/.gitignore b/.gitignore
index 743a215f89b7df2f17b5ca07d5f881b05f8703d1..4b0cb63fad86c75af0c210b7f12003b8bca7e375 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@ tmp/
 *.bak
 *.swp
 *~.nib
+.idea/
 local.properties
 .classpath
 .settings/
diff --git a/satella/db/pool/__init__.py b/satella/db/pool/__init__.py
index 5a9147fdb734c4cc81bae7f70173d1ff41798f56..52178480986564f2cc5621ef96ca7bcdb063fc48 100644
--- a/satella/db/pool/__init__.py
+++ b/satella/db/pool/__init__.py
@@ -64,7 +64,14 @@ class DatabaseDefinition(object):
     def get_connection(self):
         """Returns a new connection object. This connects to the database with according
         definitions from L{DatabaseDefinition} passed at constructor."""
-        c = self.conn_lambda()
+        while True:
+            try:
+                c = self.conn_lambda()
+            except:
+                import time
+                time.sleep(5)
+            else:
+                break
         self.acs(c)
         return c