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