Jakiś czas temu napisałem na ten temat szczegółowy post:
Zoptymalizuj PostgreSQL pod kątem szybkiego testowania
Może się to okazać pouczające; obejmuje opcje umożliwiające uruchamianie PostgreSQL bez trwałości i inne poprawki, które są przydatne do przeprowadzania testów.
W rzeczywistości nie potrzebujesz operacji w pamięci. Jeśli PostgreSQL jest ustawiony tak, aby nie opróżniał zmian na dysku, to w praktyce będzie niewielka różnica dla baz danych, które mieszczą się w pamięci RAM, a dla baz danych, które nie mieszczą się w pamięci RAM, nie ulegnie awarii.
Powinieneś przetestować z tym samym silnikiem bazy danych, którego używasz w środowisku produkcyjnym. Testowanie za pomocą SQLite, Derby, H2 itp., a następnie wdrażanie na żywo w PostgreSQL nie ma sensu... jak każdy użytkownik Heroku/Rails może to stwierdzić z doświadczenia.