pg_configविस्तार जानकारी के लिए है, एक्सटेंशन और क्लाइंट प्रोग्राम्स को पोस्टग्रेक्यूएल के खिलाफ संकलन और लिंक करने में मदद करने के लिए। यह मशीन पर सक्रिय PostgreSQL उदाहरण (ओं) के बारे में कुछ नहीं जानता, केवल बायनेरिज़।
pg_hba.confPg कैसे स्थापित किया गया था, इसके आधार पर कई अन्य स्थानों में दिखाई दे सकता है। मानक स्थान है pg_hba.confभीतर data_directory(जिसमें हो सकता है डेटाबेस का /home, /var/lib/pgsql, /var/lib/postgresql/[version]/, /opt/postgres/लेकिन उपयोगकर्ताओं और packagers डाल दिया जहाँ भी वे पसंद कर सकते हैं, आदि आदि आदि)। दुर्भाग्य से।
केवल मान्य तरीके खोज pg_hba.confएक चल रहे PostgreSQL उदाहरण से पूछते हैं कि यह कहाँ pg_hba.confहै, या sysadmin से पूछें कि यह कहाँ है। आप यह पूछने पर भी भरोसा नहीं कर सकते कि डेटादिर कहां है और पार्सिंग कर रहा है postgresql.confक्योंकि -c hba_file=/some/other/pathपीजी शुरू करते समय एक इनिट स्क्रिप्ट एक परम को पार कर सकती है ।
आप क्या करना चाहते हैं PostgreSQL से पूछें:
SHOW hba_file;
यह कमांड सुपरसुअर सत्र पर चलाया जाना चाहिए, इसलिए शेल स्क्रिप्टिंग के लिए आप कुछ ऐसा लिख सकते हैं:
psql -t -P format=unaligned -c 'show hba_file';
और वातावरण चरों सेट PGUSER, PGDATABASE, आदि सुनिश्चित करना है कि कनेक्शन सही है।
हां, यह कुछ हद तक चिकन-और-अंडे की समस्या है, जिसमें यदि उपयोगकर्ता कनेक्ट नहीं कर सकता (कहिए, एडिटिंग खराब होने के बाद pg_hba.conf) आप pg_hba.confइसे ठीक करने के लिए नहीं मिल सकते हैं ।
एक अन्य विकल्प यह है कि psकमांड के आउटपुट को देखें और देखें कि क्या पोस्टमास्टर डेटा डायरेक्टरी तर्क -Dवहां दिखाई दे रहा है, जैसे
ps aux | grep 'postgres *-D'
चूँकि pg_hba.confडेटा निर्देशिका के अंदर होगा (जब तक कि आप डेबियन / उबंटू या कुछ व्युत्पन्न और उनके पैकेज का उपयोग नहीं कर रहे हैं)।
यदि आप विशेष रूप से उबंटू प्रणालियों को लक्षित कर रहे हैं, तो डेबियन / उबंटू संकुल से पोस्टग्रेक्यूएल के साथ स्थापित करना थोड़ा आसान हो जाता है। आपको हाथ से संकलित-स्रोत पीजी से निपटने की ज़रूरत नहीं है कि किसी के initdbघर डाट के लिए दा डातादिर, या एंटरप्राइजडीबी पीजी इन / ऑप्ट आदि स्थापित करें, आप pg_wrapperडेबियन / उबंटू मल्टी-वर्जन पीजी से पूछ सकते हैं । प्रबंधक, जहाँ से PostgreSQL कमांड का उपयोग कर रहाpg_lsclusters है pg_wrapper।
यदि आप कनेक्ट नहीं कर सकते हैं (Pg नहीं चल रहा है, या आपको pg_hba.confकनेक्ट करने के लिए संपादित करने की आवश्यकता है ) आपको pg_hba.confफ़ाइलों के लिए सिस्टम को खोजना होगा । मैक और लिनक्स पर जैसे कुछ sudo find / -type f -name pg_hba.confकरेंगे। PG_VERSIONयदि आप एक से अधिक हैं, तो यह सुनिश्चित करने के लिए फ़ाइल को उसी निर्देशिका में जांचें कि यह सही PostgreSQL संस्करण है। (यदि pg_hba.confमें है /etc/, इस पर ध्यान न दें, यह मूल निर्देशिका नाम के बजाय है)। यदि आपके पास समान PostgreSQL संस्करण के लिए एक से अधिक डेटा निर्देशिका है, तो आपको डेटाबेस का आकार देखना होगा, चल रहे पोस्टग्रेज की कमांड लाइन को psयह देखने के लिए देखें कि क्या यह डेटा निर्देशिका -Dतर्क मेल खाता है जहाँ आप संपादन कर रहे हैं, आदि।