मैंने कुछ समय पहले इस पर एक विस्तृत पोस्ट लिखी थी:
फास्ट टेस्टिंग के लिए PostgreSQL को ऑप्टिमाइज़ करें
आपको यह जानकारीपूर्ण लग सकता है; इसमें पोस्टग्रेएसक्यूएल को बिना स्थायित्व के चलाने के विकल्प और परीक्षण चलाने के लिए उपयोगी अन्य बदलाव शामिल हैं।
आपको वास्तव में इन-मेमोरी ऑपरेशन की आवश्यकता नहीं है। यदि PostgreSQL डिस्क में परिवर्तनों को फ्लश नहीं करने के लिए सेट है, तो व्यवहार में RAM में फिट होने वाले DB के लिए थोड़ा अंतर होगा, और DB के लिए जो RAM में फिट नहीं होते हैं, यह क्रैश नहीं होगा।
आपको उसी डेटाबेस इंजन के साथ परीक्षण करना चाहिए जिसका आप उत्पादन में उपयोग कर रहे हैं। SQLite, डर्बी, H2, आदि के साथ परीक्षण करने के बाद PostgreSQL पर लाइव परिनियोजन करने का कोई मतलब नहीं है ... जैसा कि कोई भी Heroku/Rails उपयोगकर्ता आपको अनुभव से बता सकता है।