diff --git a/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2PostgresModeUtilTest.java b/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2PostgresModeUtilTest.java
new file mode 100644
index 0000000..32b4bcf
--- /dev/null
+++ b/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2PostgresModeUtilTest.java
@@ -0,0 +1,9 @@
+package de.cronn.testutils.h2;
+
+import org.springframework.test.context.TestPropertySource;
+
+@TestPropertySource(properties = {
+	"spring.datasource.url=jdbc:h2:mem:testdb;INIT=CREATE SCHEMA IF NOT EXISTS SECOND_SCHEMA;MODE=PostgreSQL",
+})
+public abstract class H2PostgresModeUtilTest extends H2UtilTest {
+}
diff --git a/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2UtilTest.java b/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2UtilTest.java
index b707c98..12a25b0 100644
--- a/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2UtilTest.java
+++ b/spring-boot-tests/h2/src/main/java/de/cronn/testutils/h2/H2UtilTest.java
@@ -150,7 +150,7 @@ int countRows(String table) {
 	}
 
 	int countTables() {
-		return jdbcTemplate.queryForObject("select count(*) from information_schema.tables where table_type in ('TABLE', 'BASE TABLE') and table_schema <> 'INFORMATION_SCHEMA'", Integer.class);
+		return jdbcTemplate.queryForObject("select count(*) from information_schema.tables where table_type in ('TABLE', 'BASE TABLE') and table_schema not in ('INFORMATION_SCHEMA', 'PG_CATALOG')", Integer.class);
 	}
 
 }
diff --git a/spring-boot-tests/h2/tests-h2-1.4.x/src/test/java/de/cronn/testutils/h2/v1_4/H2PostgresModeUtilTest.java b/spring-boot-tests/h2/tests-h2-1.4.x/src/test/java/de/cronn/testutils/h2/v1_4/H2PostgresModeUtilTest.java
new file mode 100644
index 0000000..a2e8120
--- /dev/null
+++ b/spring-boot-tests/h2/tests-h2-1.4.x/src/test/java/de/cronn/testutils/h2/v1_4/H2PostgresModeUtilTest.java
@@ -0,0 +1,4 @@
+package de.cronn.testutils.h2.v1_4;
+
+public class H2PostgresModeUtilTest extends de.cronn.testutils.h2.H2PostgresModeUtilTest {
+}
diff --git a/spring-boot-tests/h2/tests-h2-2.0.x/src/test/java/de/cronn/testutils/h2/v2_0/H2PostgresModeUtilTest.java b/spring-boot-tests/h2/tests-h2-2.0.x/src/test/java/de/cronn/testutils/h2/v2_0/H2PostgresModeUtilTest.java
new file mode 100644
index 0000000..c455446
--- /dev/null
+++ b/spring-boot-tests/h2/tests-h2-2.0.x/src/test/java/de/cronn/testutils/h2/v2_0/H2PostgresModeUtilTest.java
@@ -0,0 +1,4 @@
+package de.cronn.testutils.h2.v2_0;
+
+public class H2PostgresModeUtilTest extends de.cronn.testutils.h2.H2PostgresModeUtilTest {
+}
diff --git a/spring-boot-tests/h2/tests-h2-2.1.x/src/test/java/de/cronn/testutils/h2/v2_1/H2PostgresModeUtilTest.java b/spring-boot-tests/h2/tests-h2-2.1.x/src/test/java/de/cronn/testutils/h2/v2_1/H2PostgresModeUtilTest.java
new file mode 100644
index 0000000..963e5fd
--- /dev/null
+++ b/spring-boot-tests/h2/tests-h2-2.1.x/src/test/java/de/cronn/testutils/h2/v2_1/H2PostgresModeUtilTest.java
@@ -0,0 +1,4 @@
+package de.cronn.testutils.h2.v2_1;
+
+public class H2PostgresModeUtilTest extends de.cronn.testutils.h2.H2PostgresModeUtilTest {
+}
diff --git a/src/main/java/de/cronn/testutils/h2/H2Util.java b/src/main/java/de/cronn/testutils/h2/H2Util.java
index 1f551fc..b9d2206 100644
--- a/src/main/java/de/cronn/testutils/h2/H2Util.java
+++ b/src/main/java/de/cronn/testutils/h2/H2Util.java
@@ -194,7 +194,7 @@ public static Set<Table> getTableNames(Connection con) throws SQLException {
 		Set<Table> tableNames = new LinkedHashSet<>();
 		String selectAllTables = "SELECT * FROM INFORMATION_SCHEMA.TABLES " +
 			"WHERE TABLE_TYPE IN ('TABLE' /* h2 v1.4 */, 'BASE TABLE' /* h2 v2.x */) " +
-			"AND TABLE_SCHEMA <> 'INFORMATION_SCHEMA'";
+			"AND TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'PG_CATALOG')";
 		try (PreparedStatement stmt = con.prepareStatement(selectAllTables); ResultSet tables = stmt.executeQuery()) {
 			while (tables.next()) {
 				String schema = tables.getString("TABLE_SCHEMA");