diff --git a/test_all.sh b/test_all.sh
new file mode 100755
index 0000000..7e93930
--- /dev/null
+++ b/test_all.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+export PDO_DOC_PGSQL_HOST=localhost:8301
+PG_VERSIONS=('13' '14' '15' '16' 'latest')
+
+for PG_VERSION in "${PG_VERSIONS[@]}"
+do
+  echo Starting PostgreSQL:$PG_VERSION
+  docker run -d -p 8301:5432 --name pg_test -e POSTGRES_PASSWORD=postgres postgres:$PG_VERSION
+  sleep 4
+  if [ "$PG_VERSION" = "latest" ]; then
+    echo Testing SQLite and PostgreSQL...
+    ./vendor/bin/pest --testdox-text $1-tests.txt tests
+  else
+    echo Testing PostgreSQL v$PG_VERSION...
+    ./vendor/bin/pest --testdox-text $1-pg$PG_VERSION-tests.txt tests/Integration/PostgreSQL
+  fi
+  docker stop pg_test
+  sleep 2
+  docker rm pg_test
+done
+
+cd .. || exit