Eu escrevi um post detalhado sobre isso há algum tempo:
Otimize o PostgreSQL para testes rápidos
Você pode achar informativo; ele cobre opções para fazer o PostgreSQL rodar sem durabilidade e outros ajustes que são úteis para a execução de testes.
Na verdade, você não precisa de operação na memória. Se o PostgreSQL estiver configurado para não liberar as alterações no disco, na prática haverá pouca diferença para bancos de dados que cabem na RAM, e para bancos de dados que não cabem na RAM, ele não travará.
Você deve testar com o mesmo mecanismo de banco de dados que está usando na produção. Testar com SQLite, Derby, H2, etc e depois implantar ao vivo no PostgreSQL não faz muito sentido... como qualquer usuário do Heroku/Rails pode dizer por experiência própria.