PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL:psql सर्वर से कनेक्ट क्यों नहीं हो सकता है?

त्रुटि बताती है कि psql उपयोगिता आपके डेटाबेस सर्वर से कनेक्ट करने के लिए सॉकेट नहीं ढूंढ सकती है। या तो आपके पास पृष्ठभूमि में डेटाबेस सेवा नहीं चल रही है, या सॉकेट कहीं और स्थित है, या शायद pg_hba.conf ठीक करने की आवश्यकता है।

चरण 1:सत्यापित करें कि डेटाबेस चल रहा है

आपके ऑपरेटिंग सिस्टम के आधार पर कमांड भिन्न हो सकती है। लेकिन अधिकांश *ix सिस्टम पर निम्नलिखित कार्य करेगा, यह सभी चल रही प्रक्रियाओं के बीच पोस्टग्रेज की खोज करेगा

ps -ef | grep postgres

मेरे सिस्टम पर, मैक ओएसएक्स, यह थूक देता है

501   408     1   0  2Jul15 ??         0:21.63 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log

अंतिम कॉलम सर्वर को प्रारंभ करने के लिए प्रयुक्त कमांड और विकल्पों को दिखाता है।

आप निम्न का उपयोग करके पोस्टग्रेज़ सर्वर प्रारंभ करने के लिए उपलब्ध सभी विकल्पों को देख सकते हैं।

man postgres

वहां से, आप देखेंगे कि विकल्प -D और -r क्रमशः datadir . हैं और logfilename .

चरण 2:यदि पोस्टग्रेज़ सेवा चल रही है

find का उपयोग करें सॉकेट के स्थान की खोज करने के लिए, जो कहीं /tmp . में होना चाहिए

sudo find /tmp/ -name .s.PGSQL.5432

यदि पोस्टग्रेज चल रहा है और सॉकेट कनेक्शन स्वीकार कर रहा है, तो उपरोक्त आपको सॉकेट का स्थान बताना चाहिए। मेरी मशीन पर, यह निकला:

/tmp/.s.PGSQL.5432

फिर, स्पष्ट रूप से इस फ़ाइल के स्थान का उपयोग करके psql के माध्यम से कनेक्ट करने का प्रयास करें, उदा.

psql -h /tmp/ dbname

चरण 3:यदि सेवा चल रही है लेकिन आपको सॉकेट दिखाई नहीं दे रहा है

यदि आपको सॉकेट नहीं मिल रहा है, लेकिन देखें कि सेवा चल रही है, तो सत्यापित करें कि pg_hba.conf फ़ाइल स्थानीय सॉकेट की अनुमति देती है।

datadir . पर ब्राउज़ करें और आपको pg_hba.conf खोजना चाहिए फ़ाइल।

डिफ़ॉल्ट रूप से, फ़ाइल के निचले भाग के पास आपको निम्न पंक्तियाँ दिखनी चाहिए:

# "local" is for Unix domain socket connections only
local       all       all       trust

यदि आप इसे नहीं देखते हैं, तो आप फ़ाइल को संशोधित कर सकते हैं, और पोस्टग्रेज़ सेवा को पुनरारंभ कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी दिए गए स्कीमा में कोई तालिका मौजूद है या नहीं, इसकी जांच कैसे करें?

  2. PgAdmin का उपयोग करके Postgresql तालिका डेटा निर्यात करें

  3. search_path पहचानकर्ता संकल्प और वर्तमान स्कीमा को कैसे प्रभावित करता है

  4. Npgsql और इकाई फ्रेमवर्क के साथ पोस्टग्रेएसक्यूएल को अस्वीकार्य का उपयोग करके क्वेरी करें

  5. कैसे CONCAT_WS () PostgreSQL में काम करता है