Привет, мое приложение обращается к базе данных Postgres, и у меня есть много предопределенных запросов (Rank, Parition, сложное соединение и т.д.). Я запускаю Postgres. Теперь я хочу перейти на модульное тестирование этих запросов с небольшими тестовыми данными. Итак, я начал с H2/Junit. Я узнал, что большинство запросов Postgres, таких как Rank, Partition, Complex case при обновлении и т.д. Поэтому я подумал о том, чтобы использовать режим совместимости H2 PosgreSQL, думая, что все запросы postgres будут работать на H2, пожалуйста, исправьте меня, если я ошибаюсь.
Я последовал за документом H2, говорящим, что для использования режима PostgreSQL используйте URL-адрес базы данных jdbc: h2: ~/test; MODE = PostgreSQL или оператор SQL SET MODE PostgreSQL.
Я включил режим, используя SET MODE PostgreSQL
, и я попытался запустить один из запросов, который включает rank(), и работает в postgres, но он не работает H2. Это дает мне следующее исключение.
Function "RANK' not found; in SQL statement
Пожалуйста, объясните, что я новичок в H2 и тестировании базы данных. Заранее спасибо. Я использую драйвер H2 jdbc для запуска запросов postgres, думая, что режим совместимости H2 Posgress позволит мне запускать запросы postgres.