ServBay में PostgreSQL डेटाबेस की कॉन्फ़िगरेशन कैसे बदलें
ServBay, macOS डेवेलपर्स के लिए एक पावरफुल लोकल वेब विकास मंच है, जिसमें PostgreSQL डेटाबेस पहले से एकीकृत होता है। यह गाइड बताएगा कि ServBay के भीतर PostgreSQL सेटिंग्स कैसे बदली जाएँ, जिनमें अनुशंसित UI-आधारित तरीका और अस्थायी/एडवांस उपयोगकर्ताओं के लिए मैन्युअल फाइल संपादन तरीका शामिल हैं।
ServBay में इंस्टॉल किए गए PostgreSQL के संस्करण के आधार पर, मुख्य कॉन्फ़िग फाइलें आमतौर पर /Applications/ServBay/etc/postgresql/<version>
डायरेक्टरी में स्थित होती हैं। उदाहरण के लिए, PostgreSQL 16 के लिए यह पथ /Applications/ServBay/etc/postgresql/16
होगा।
महत्वपूर्ण जानकारी
ServBay अपनी ग्राफ़िकल यूज़र इंटरफ़ेस (UI) के द्वारा अधिकांश कॉन्फ़िगरेशन सेटिंग्स को प्रबंधित करता है और संबंधित कॉन्फिग फाइलें अपने-आप जेनरेट करता है। यह अत्यधिक अनुशंसा की जाती है कि आप केवल ServBay UI के जरिए परिवर्तन करें। मैन्युअल एडिटिंग से आपकी सेटिंग्स अगली बार ServBay द्वारा प्रबंधित या अपडेट होते समय ओवरराइट हो सकती हैं। मैन्युअल एडिटिंग केवल अस्थाई परीक्षण या उन यूज़र्स के लिए है जो एडवांस स्तर पर कॉन्फिगरेशन समझते हैं, स्थायी या प्रोडक्शन सेटअप के लिए यह विधि अनुशंसित नहीं है।
ServBay के UI के माध्यम से कॉन्फ़िगरेशन बदलना (सर्वाधिक अनुशंसित)
ServBay का विजुअल इंटरफ़ेस PostgreSQL के विन्यास के लिए सबसे आसान और पसंदीदा तरीका है। UI के ज़रिए किए गए बदलाव स्वतः लागू हो जाते हैं और अधिकांश मामलों में तुरंत प्रभावी हो जाते हैं — किसी भी सेवा को मैन्युअली रीस्टार्ट करने की ज़रूरत नहीं (सिवाय जब ServBay विशेष रूप से संकेत दे)।
प्रक्रिया
- ServBay ऐप्लिकेशन खोलें।
- ServBay के लेफ्ट साइड नेविगेशन पर
डेटाबेस
चुनें। - PostgreSQL को डेटाबेस लिस्ट में ढूँढ़ें और जिस संस्करण (वर्जन) को कॉन्फ़िगर करना है, उस पर क्लिक करें।
- क्लिक करने के बाद, PostgreSQL के उस वर्जन की डिटेल व विन्यास विकल्प दिखेंगे।
कौन-कौन से विकल्प बदल सकते हैं
इस UI में, आपको ServBay द्वारा सेट किए गए डिफ़ॉल्ट PostgreSQL यूज़रनेम और पासवर्ड (आमतौर पर विशेष रूप से इसी स्क्रीन पर) देखने को मिलेंगे। सामान्य कॉन्फ़िग पैरामीटर जिन्हें आप बदल सकते हैं:
- सुनने वाला पता (
listen_addresses
): PostgreSQL किस नेटवर्क इंटरफेस को सुनता है नियंत्रित करता है। डिफ़ॉल्ट सामान्यतः*
होता है — मतलब सभी उपलब्ध नेटवर्क इंटरफेस। - पोर्ट (
port
): PostgreSQL सर्वर का नेटवर्क पोर्ट; डिफ़ॉल्ट:5432
(सावधान रहें, यह MySQL/MariaDB के 3306 से अलग है)। - अधिकतम कनेक्शन (
max_connections
): एक बार में डेटाबेस से जितने क्लाइंट कनेक्ट हो सकते हैं, उसकी अधिकतम सीमा। - वर्क मेमोरी (
work_mem
): हर क्वेरी प्रोसेस को सॉर्टिंग और हैश ऑपरेशन के लिए दी जाने वाली मेमोरी।
साथ ही, Additional Parameters
खंड के ज़रिए आप उन अन्य postgresql.conf
पैरामीटर को भी जोड़ या बदल सकते हैं जो UI में सीधे उपलब्ध नहीं हैं। हर लाइन में parameter_name = value
का फॉर्मेट रखें।
बदलाव कैसे लागू करें
सेटिंग्स बदलने के बाद, स्क्रीन के नीचे दिए सेव करें
बटन पर क्लिक करें। ServBay अपने-आप आपके परिवर्तनों को सेव और लागू कर देगा। अधिकांश परिवर्तनों के लिए अलग से रीस्टार्ट करने की ज़रूरत नहीं होगी। यदि किसी बार दोबारा स्टार्ट जरूरी हुआ तो ServBay आपको स्पष्ट संकेत देगा।
मैन्युअली कॉन्फ़िग फाइल संपादन के द्वारा बदलाव (स्थायी के लिए अनुशंसित नहीं)
जैसाकि हमने ऊपर समझाया, मैन्युअल फाइल एडिटिंग आम तौर पर अनुशंसित नहीं है — UI के ज़रिए सेटिंग्स आपकी मैन्युअल एडिटिंग को दुबारा ओवरराइट कर सकती हैं। लेकिन, आधारभूत समझ के लिए फाइलों का स्थान और उन का कंटेंट जानना उपयोगी है।
WARNING
मैन्युअल कॉन्फिगरेशन केवल अस्थायी डिबगिंग या एडवांस ट्रबलशूटिंग के लिए ही करें। ServBay UI के ज़रिए बदलाव करना ही विश्वसनीय और टिकाऊ तरीका है। मैन्युअल रूप से बदली गई फाइलें ServBay के आंतरिक प्रबंधन के कारण ओवरराइट हो सकती हैं।
कॉन्फ़िगरेशन फाइलें कहाँ मिलती हैं
PostgreSQL के मुख्य कॉन्फिग फाइलें हैं postgresql.conf
और pg_hba.conf
। ये फाइलें आमतौर पर निम्न पाथ में होती हैं:
postgresql.conf
:/Applications/ServBay/etc/postgresql/<version>/postgresql.conf
pg_hba.conf
:/Applications/ServBay/etc/postgresql/<version>/pg_hba.conf
ध्यान दें, पुरानी डॉक्यूमेंटेशन में /db/postgresql/16/pg_hba.conf
जैसा पथ हो सकता है, मगर ServBay UI फिलहाल /Applications/ServBay/etc/
में रखी फाइल्स को प्रबंधित करता है। मैन्युअली एडिटिंग से पहले वास्तविक पथ की पुष्टि अवश्य करें। आमतौर पर /Applications/ServBay/etc/postgresql/<version>
सबसे भरोसेमंद स्थान है।
कॉमन सेटिंग्स के उदाहरण
नीचे postgresql.conf
और pg_hba.conf
की कुछ सामान्य सेटिंग्स और उनके उदाहरण दिए हैं। एडिटिंग के लिए किसी उपयुक्त टेक्स्ट एडिटर (जैसे VS Code, Sublime Text, Nano) और एडमिनिस्ट्रेटर अधिकारों का इस्तेमाल करें।
postgresql.conf
postgresql.conf
PostgreSQL सर्वर की मुख्य कॉन्फिगरेशन फाइल है जो सर्वर का लगभग पूरा व्यवहार नियंत्रित करती है।
yaml
# सुनने वाला पता: सर्वर किन नेटवर्क इंटरफेस पर सुनता है। '*' का अर्थ है सभी इंटरफेस।
listen_addresses = '*'
# पोर्ट नम्बर: सर्वर जिस नेटवर्क पोर्ट पर काम करता है। PostgreSQL के लिए 5432 डिफॉल्ट है।
port = 5432
# अधिकतम कनेक्शन: एक साथ जुड़े हुए क्लाइंट्स की अधिकतम संख्या।
max_connections = 100
# साझा बफर का आकर: PostgreSQL द्वारा डेटा कैशिंग हेतु प्रयुक्त साझा मेमोरी।
shared_buffers = 128MB
# लॉग डायरेक्टरी: लॉग फाइल को स्टोर करने का स्थान।
log_directory = 'log'
# लॉग फाइल नाम का फॉर्मेट: लॉग फाइल के नाम की संरचना।
log_filename = 'postgresql-%Y-%m-%d.log'
# स्लो क्वेरी लॉग सक्षम करें: जिन क्वेरीज़ की अवधि निर्धारित मिलीसेकंड्स से अधिक हो, उन्हें लॉग करें।
# सही मान डालें, जैसे 2000 तो 2 सेकंड से लंबी क्वेरी लॉग होगी।
# -1 डालने से स्लो क्वेरी लॉग बंद रहेंगे।
log_min_duration_statement = 2000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pg_hba.conf
pg_hba.conf
(Host-Based Authentication) का उपयोग डेटाबेस क्लाइंट्स की प्रमाणिकता और परमिशन निर्धारित करने के लिए होता है।
sql
# TYPE DATABASE USER ADDRESS METHOD
# Unix domain socket के जरिये लोकल कनेक्शन की अनुमति, trust मेथड (पासवर्ड नहीं चाहिए) के साथ।
# "local" is for Unix domain socket connections only
local all all trust
# सभी IPv4 एड्रेस से TCP/IP के जरिये रिमोट कनेक्शन की अनुमति, md5 पासवर्ड प्रमाणीकरण के साथ।
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# किसी विशेष IPv4 सबनेट (जैसे 192.168.1.0/24) से रिमोट कनेक्शन, md5 प्रमाणीकरण के साथ।
# IPv4 local connections from a specific subnet:
# host all all 192.168.1.0/24 md5
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
pg_hba.conf
एडिट करते समय हर कॉलम (TYPE
, DATABASE
, USER
, ADDRESS
, METHOD
) का पूर्ण अर्थ समझें — गलत सेटिंग्स से कनेक्शन फेल या सुरक्षा जोखिम उत्पन्न हो सकते हैं।
मैन्युअल बदलावों को प्रभावी बनाना
जब भी आप मैन्युअली कोई कॉन्फ़िग फाइल एडिट करें, आपको PostgreSQL सेवा को रिस्टार्ट करना जरूरी है ताकि बदला हुआ विन्यास लागू हो सके।
ServBay प्रबंध इंटरफ़ेस के जरिए PostgreSQL को रीस्टार्ट करें
- ServBay मैनेजमेंट UI खोलें।
- बाईं ओर नेविगेशन में
डेटाबेस
चुनें। PostgreSQL
ढूँढ़ें और संबंधित वर्जन पर क्लिक करें।- उसी पेज या ServBay के मुख्य "सॉफ्टवेयर"/"सर्विसेज़" लिस्ट से PostgreSQL सेवा का वर्जन चुनें और
रीस्टार्ट
बटन दबाएँ।
servbayctl
कमांड लाइन टूल से रीस्टार्ट करें
ServBay का CLI टूल servbayctl
सेवा प्रबंधन एवं रीस्टार्ट के लिए प्रयुक्त किया जा सकता है:
bash
servbayctl restart postgresql <version>
1
यहाँ <version>
को अपने इंस्टॉल्ड PostgreSQL वर्जन (जैसे 16
) से बदलें।
निष्कर्ष
PostgreSQL अकाउंट, पोर्ट, कनेक्शन संख्या, आदि जैसे सामान्य सेटिंग्स बदलने के लिए ServBay UI सबसे आसान और सुरक्षित माध्यम है, जिससे मैन्युअल फाइल ओवरराइटिंग की समस्या भी नहीं आएगी। असाधारण या अस्थायी डिबगिंग की स्थिति में ही मैन्युअल संपादन का विकल्प चुनें — मुख्य फाइलें /Applications/ServBay/etc/postgresql/<version>
में होती हैं। किसी भी तरीके से बदलाव लागू करने के बाद आपको PostgreSQL सेवा रीस्टार्ट करनी पड़ सकती है, जो UI या CLI (servbayctl
) दोनों से संभव है।
इन कॉन्फ़िग ऑप्शंस और बदलाव के तरीकों को समझना आपके लिए स्थानीय विकास की मांग के मुताबिक ServBay के PostgreSQL पर्यावरण को बेहतर बनाने में मददगार होगा।