diff --git a/entrypoint.sh b/entrypoint.sh
index 8290eb78ad2103232b4c1a94e121f4b7cbaa612b..5b7742662c95cef5917ec595699a0a5825048254 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -30,7 +30,13 @@ export PGUSER=$value
 check_config "db_password" "$PASSWORD"
 export PGPASSWORD=$value
 
-if ! psql -l | grep $PGDATABASE; then
+echo "waiting until postgres is listening at ${PGHOST}..."
+while true; do
+    psql --list > /dev/null 2>&1 && break
+    sleep 1
+done
+
+if ! psql --list 2> /dev/null | grep $PGDATABASE > /dev/null 2>&1; then
   	echo "Database $PGDATABASE does not exist"
   	DB_ARGS+=("--load-language")
   	DB_ARGS+=("fr_FR")