Режимы совместимости, такие как предоставляемые H2, не идеальны, они не обеспечивают 100% охват всех функций и 100% идентичное поведение.
Вместо использования другой базы данных в ваших модульных тестах, и пытаясь сделать его как можно более близким (и в любом случае укусить от различий в производстве), я бы рекомендовал использовать модуль PostgreSQL testcontainers- java. Это позволяет вам раскручивать PostgreSQL docker изображений для ваших модульных тестов.
Имейте в виду, что это повлияет на производительность, поскольку, вероятно, будет немного медленнее, чем использование H2, из-за времени запуска docker изображение. Я бы порекомендовал тщательно продумать, действительно ли ваши тесты должны go относиться к базе данных, или могут сойти с поддельных данных или, по крайней мере, ограничить объем тестов, которые (необходимо) go, для базы данных.