diff --git a/test_pg.sh b/test_pg.sh
index 9fcbcf3241f8fb901c95cdabe1cb3b15d5662761..7fcb943f46ab8d8e7009be8bf3dd17078d82355b 100644
--- a/test_pg.sh
+++ b/test_pg.sh
@@ -35,6 +35,15 @@ echo "unix_socket_directories = '$PGHOST'" >"$PGDATA/postgresql.conf"
 
 pg_ctl -l "$PGHOST/log" -o '-h ""' start
 
+for i in $(seq 1 3); do
+    echo "Waiting for server ($i/3)"
+    if pg_ctl status >/dev/null 2>/dev/null; then
+        echo "Server is up"
+        break;
+    fi
+    sleep 1
+done
+
 export PGHOST="$PGHOST"
 createdb goatherd_test