pg_config
विस्तार जानकारी के लिए है, एक्सटेंशन और क्लाइंट प्रोग्राम्स को पोस्टग्रेक्यूएल के खिलाफ संकलन और लिंक करने में मदद करने के लिए। यह मशीन पर सक्रिय PostgreSQL उदाहरण (ओं) के बारे में कुछ नहीं जानता, केवल बायनेरिज़।
pg_hba.conf
Pg कैसे स्थापित किया गया था, इसके आधार पर कई अन्य स्थानों में दिखाई दे सकता है। मानक स्थान है 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
तर्क मेल खाता है जहाँ आप संपादन कर रहे हैं, आदि।