होमब्रे के माध्यम से PostgreSQL स्थापित करें
संभवतः अधिकांश OS X उपयोगकर्ता Homebrew . के बारे में जानते हैं , लेकिन होमब्रू ओएस एक्स के लिए एक पैकेज मैनेजर है जो आपको आसानी से एप्लिकेशन और उपयोगिताओं की एक विशाल लाइब्रेरी को आसानी से स्थापित और चलाने की अनुमति देता है।
हम Homebrew की संपूर्ण (यद्यपि संक्षिप्त) स्थापना प्रक्रिया से नहीं गुजरेंगे, लेकिन यदि आप Homebrew को स्थापित करना चाहते हैं और PostgreSQL प्रबंधन के लिए इसका उपयोग करना चाहते हैं, तो आधिकारिक दस्तावेज़ीकरण पर इंस्टॉलेशन कमांड देखें। यदि आप सुनिश्चित नहीं हैं कि Homebrew स्थापित है या नहीं, तो which brew आज़माएं सत्यापित करने के लिए टर्मिनल से आदेश।
Homebrew स्थापित हो जाने के बाद, आप अपने टर्मिनल में निम्नलिखित कमांड जारी करके PostgreSQL स्थापित कर सकते हैं:
$ brew update
$ brew doctor
$ brew install postgres
होमब्रे को अपडेट करने और किसी भी संभावित समस्या (यदि आवश्यक हो) की रिपोर्ट करने के लिए पहले दो कमांड का उपयोग किया जाता है। फिर, निश्चित रूप से, brew install postgres PostgreSQL को स्थापित करने के लिए एक-पंक्ति कमांड है।
इंस्टालेशन के दौरान आपको आउटपुट में बहुत सारी उपयोगी जानकारी दिखाई देनी चाहिए, जिनमें से अधिकांश को अगले अनुभागों में उपयोग के लिए कॉपी किया जाना चाहिए।
स्टार्टअप पर PostgreSQL लॉन्च करने के लिए LaunchAgent और plist का उपयोग करना
ज्यादातर मामलों में, जब आप अपना सिस्टम शुरू करते हैं, तो आप शायद पोस्टग्रेएसक्यूएल लॉन्च करना चाहेंगे, इसलिए आपको अपने कंप्यूटर को यह बताना होगा कि यह आपकी इच्छा है।
सबसे पहले, आपको अपने LaunchAgents . के लिए एक निर्देशिका बनानी होगी रहने के लिए (यदि निर्देशिका पहले से मौजूद नहीं है)। LaunchAgents OS X में launchd . द्वारा उपयोग की जाने वाली सरल स्क्रिप्ट हैं जो सिस्टम को स्टार्टअप के दौरान प्रोग्राम या कोड चलाने का कारण बनता है।
अपना user बनाएं -विशिष्ट LaunchAgents इस आदेश के साथ निर्देशिका, यदि आवश्यक हो:
$ mkdir -p ~/Library/LaunchAgents
अब आपको स्क्रिप्ट से एक प्रतीकात्मक लिंक बनाने की आवश्यकता होगी जो वास्तव में Postgres को LaunchAgents पर चलने की अनुमति देता है निर्देशिका। एक प्रतीकात्मक लिंक किसी अन्य निर्देशिका में उपयोग के लिए फ़ाइल की एक नई प्रतिलिपि बनाने के समान है, लेकिन चूंकि लिंक 'प्रतीकात्मक' है, लिंक केवल एक अग्रेषण पता है:उस प्रतीकात्मक लिंक स्थान पर किया गया कोई भी अनुरोध वास्तव में "अग्रेषित" है या जहां असली . पर रीडायरेक्ट किया गया है फ़ाइल वास्तव में रहती है।
plist से लिंक करें (संपत्ति सूची) फ़ाइल जो Homebrew द्वारा बनाई गई थी और उस नए प्रतीकात्मक लिंक को LaunchAgents में रखें इस आदेश के साथ:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
नोट:डबल-चेक करें कि कमांड सही है:यह ऊपर बताए गए इंस्टॉलेशन आउटपुट का हिस्सा होना चाहिए था जब होमब्रे ने शुरू में पोस्टग्रेज स्थापित किया था।
अंत में, हम नए प्रतीकात्मक लिंक को लोड करते हैं LaunchAgent launchctl load . का उपयोग कर फ़ाइल कमांड, जो विशेष रूप से कंप्यूटर को इस स्क्रिप्ट को चलाने और कंप्यूटर लॉन्च होने पर पोस्टग्रेज शुरू करने के लिए सूचित करता है। फिर से, होमब्रे के पोस्टग्रेज इंस्टालेशन के दौरान आपके स्वयं के इंस्टॉलेशन के लिए प्रवेश करने का सटीक कमांड एक आउटपुट होगा, लेकिन इसे कुछ इस तरह दिखना चाहिए:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
मैन्युअल रूप से PostgreSQL प्रारंभ करना
मैन्युअल रूप से पोस्टग्रेज़ को रीबूट किए बिना स्टार्टअप करने के लिए, आपको फिर से उस कमांड का उपयोग करने में सक्षम होना चाहिए जो इंस्टॉलेशन के दौरान आउटपुट था, जैसे:
$ postgres -D /usr/local/var/postgres
यह Postgres को daemon . में लॉन्च करने का प्रयास करेगा मोड, जिसका अर्थ है कि यह आपके टर्मिनल पर कब्जा किए बिना पृष्ठभूमि प्रक्रिया के रूप में चल रहा होगा।
पोस्टग्रेएसक्यूएल को होमब्रे के बिना प्रारंभ/बंद करें
इस घटना में कि आपके पास Postgres के लिए Homebrew नहीं है (या उपयोग नहीं करना चाहते हैं), फिर भी आपके पास Postgres पहले से ही स्थापित हैं, आप इसे pg_ctl से मैन्युअल रूप से भी शुरू कर सकते हैं , जो स्वयं Postgres द्वारा प्रदान की गई लॉन्च उपयोगिता है।
यह पोस्टग्रेज शुरू करेगा (डिफ़ॉल्ट निर्देशिका मानकर):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
और यह पोस्टग्रेज को रोक देगा:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
स्टार्टअप समस्या निवारण:क्या आपने initdb चलाया था ?
कुछ मामलों में, यदि आपको Postgres चलाने में समस्या हो रही है, तो सुनिश्चित करें कि आपने initdb निष्पादित किया है कमांड वन टाइम, जो पोस्टग्रेज को एक नए इंस्टॉलेशन के लिए डेटाबेस क्लस्टर को इनिशियलाइज़ करने का कारण बनता है और आपको डिफ़ॉल्ट postgres से कनेक्ट करने की अनुमति देता है उपयोगकर्ता।