PostgreSQL एक इन-मेमोरी एम्बेड करने योग्य सर्वर नहीं है। इसे केवल एक पुस्तकालय के रूप में लोड करके चलाया नहीं जा सकता।
इसके लिए आपको कुछ परीक्षण हार्नेस नियंत्रण कोड की आवश्यकता होगी:
-
initdb
एक अस्थायी डेटादिर -
संपादित करें
postgresql.conf
पंक्तियों को जोड़कर, याinclude_dir
. को सक्षम करके आवश्यकतानुसार और उसमें फाइलें गिराना। यदि आपको केवल एक तुच्छ विन्यास की आवश्यकता है तो आप इस चरण को छोड़ने में सक्षम हो सकते हैं;port
. जैसी चीज़ें पर्यावरण चर के माध्यम से सेट किया जा सकता है, और कई अन्य को-c
. के साथ सेट किया जा सकता है सर्वर स्टार्टअप कमांड के लिए फ़्लैग करें। -
उपयोग करने के लिए एक यादृच्छिक पोर्ट नंबर उत्पन्न करें
-
सर्वर लॉन्च करें -
postgres -D the_datadir
चलाएं Java कीProcess
. का उपयोग करते हुए एक नया सर्वर इंस्टेंस प्रबंधन। आप-c
. के साथ कस्टम कॉन्फ़िगरेशन मान पास कर सकते हैं और व्यवहार को नियंत्रित करने के लिए पर्यावरण चर भी सेट कर सकते हैं। -
JDBC से कनेक्ट करें और
CREATE DATABASE
फिर अपना परीक्षण सेटअप चलाएँ -
अपने परीक्षण चलाएं
-
आपके द्वारा शुरू की गई प्रक्रिया को समाप्त करके सर्वर को रोकें।
-
डेटादिर हटाएं
आप उचित अस्थायी निर्देशिका प्रबंधन के साथ एक वर्ग में प्रक्रिया प्रबंधन करना चाहते हैं, अशुद्ध निकास पर सफाई (पीजी सर्वर को मारें और अपवाद पर डेटादिर हटाएं), आदि।
मुझे आश्चर्य होगा अगर आपको इसके लिए उधार लेने के लिए डिब्बाबंद परीक्षण हार्नेस कोड नहीं मिल रहा है। मुझे आश्चर्य है कि क्या हमें पीजीजेडीबीसी में कुछ जोड़ना चाहिए और इसे ड्राइवर में बंडल करना चाहिए? अगर आपको कुछ अच्छा लगता है, या कुछ भी अच्छा लिखते हैं, तो कृपया मुझे इस उत्तर पर टिप्पणी करके पिंग करें और मैं इसे PgJDBC में एक उपयोगिता वर्ग के रूप में शामिल करने पर विचार करूंगा।
उस ने कहा, मौजूदा पोस्टग्रेएसक्यूएल इंस्टेंस में नए बनाए गए परीक्षण डेटाबेस में अपने परीक्षण चलाने के बजाय यह अधिक आम है जो पहले से ही आपके सर्वर पर चलता है। आप बस अपने परीक्षण सूट को PostgreSQL उपयोगकर्ता नाम/पासवर्ड/होस्ट/पोर्ट/डेटाबेस के साथ कॉन्फ़िगर करें (या इसे postgres
से कनेक्ट होने दें) डेटाबेस और CREATE
और DROP
डेटाबेस)। आखिरकार, कुछ कॉन्फ़िगरेशन की हमेशा आवश्यकता होती है:PostgreSQL को स्थापित या संकलित करना, यह सुनिश्चित करना कि बायनेरिज़ PATH
पर हैं , आदि.
एक अन्य विकल्प अमेज़ॅन आरडीएस का उपयोग करना है:एक नया पोस्टग्रेएसक्यूएल इंस्टेंस लॉन्च करने के लिए एडब्ल्यूएस आरडीएस एपीआई का उपयोग करें और इसे अपने परीक्षणों के लिए उपयोग करें। यह शायद तब तक व्यावहारिक नहीं है जब तक कि सेटअप समय और न्यूनतम रनटाइम के कारण आपके परीक्षण लंबे समय तक नहीं चलते, लेकिन यह एक और विकल्प है, जैसा कि हेरोकू में समान सेवा है।