Před časem jsem o tom napsal podrobný příspěvek:
Optimalizace PostgreSQL pro rychlé testování
Můžete to považovat za informativní; pokrývá možnosti pro spuštění PostgreSQL bez trvanlivosti a další vychytávky, které jsou užitečné pro spouštění testů.
Operaci v paměti vlastně nepotřebujete. Pokud je PostgreSQL nastaven tak, aby nevyplňoval změny na disk, pak v praxi bude malý rozdíl pro DB, které se vejdou do RAM, a pro DB, které se nevejdou do RAM, nebude padat.
Měli byste testovat se stejným databázovým strojem, který používáte v produkci. Testování s SQLite, Derby, H2 atd. a následné nasazení na PostgreSQL nedává moc smysl... jak vám může ze zkušenosti říct každý uživatel Heroku/Rails.