2011-08-12 17 views
13

के लिए विफल रहा है मैंने अपने CentOS सर्वर पर PostgreSQL सर्वर 8.4 को सफलतापूर्वक स्थापित किया है। उसके बाद, मैं 'postgres' उपयोगकर्ता का उपयोग करके CentOS सर्वर के लिए लॉग इन, लेकिन मैं किसी भी कमांड नहीं चला सकते हैं, त्रुटि उत्पन्न:उपयोगकर्ता प्रमाणीकरण उपयोगकर्ता "postgres"

पासवर्ड प्रमाणीकरण उपयोगकर्ता के लिए विफल "postgres"

यहाँ है pg_hba.conf और postgresql.conf में कुछ विन्यास:

--------------------configuration in postgresql.conf----------- 
listen_addresses = '*' 

--------------------configuration in pg_hba.conf--------------- 
local all   all        md5 
local all   postgres       md5 
host all   all   127.0.0.1/32   md5 
host all   all   ::1/128    md5 

उत्तर

11

सुनिश्चित करें कि आप postgres PostgreSQL खाते का पासवर्ड, नहीं postgres सिस्टम खाते का उपयोग करें। डीबी से कनेक्ट करने के लिए अपने पास को बदलने के लिए pg_hba.conf में "md5" के बजाय "ट्रस्ट" आज़माएं।

+0

क्या postgres सिस्टम खाते और postgres PostgreSQL खाते के बीच का अंतर है के लिए इसे बदल? और मैं कैसे जांच सकता हूं कि मैं Postgres PostgreSQL खाते का उपयोग कर रहा हूं या नहीं? –

+0

आपको पता होना चाहिए कि आप किस पासवर्ड का उपयोग करते हैं। – Daniel

+0

मैंने PostgreSQL खाते के लिए पासवर्ड का उपयोग किया है। –

14

मैं pg_hba.conf में निम्नलिखित का उपयोग करते हैं:

# Database administrative login by UNIX sockets 
local all   postgres       ident 

# TYPE DATABASE USER  CIDR-ADDRESS   METHOD 
local all   all        md5 
host all   all   127.0.0.1/32   md5 
host all   all   ::1/128    md5 

इसका मतलब है कि एक बार आप "postgres" कर रहे हैं, तो आप एक पासवर्ड की जरूरत नहीं है, लेकिन आप postgres बनने के लिए sudo अधिकारों की जरूरत है, तो यह बहुत साफ सुरक्षित है। कोई भी अन्य उपयोगकर्ता सरल एमडी 5 प्रमाणीकरण का उपयोग करके लॉगिन कर सकता है, जिसका मतलब है कि आपको पूरे स्थान पर सूडो नहीं करना है। यह मेरे लिए अच्छा काम करता है।

8

मुझे एक ही समस्या (एक ही त्रुटि संदेश) से मिला। डैनियल के जवाब की तरह, ऐसा इसलिए है क्योंकि मैं इसके बीच भ्रमित हूं:

"पोस्टग्रेएसएसएल खाता पोस्टग्रेएसक्यूएल खाता, पोस्टग्रेस सिस्टम खाता नहीं है।"

postgres पासवर्ड के बारे में सुनिश्चित हो, सिर्फ '123456' (या किसी अन्य पासवर्ड)

# su postgres 
# psql -d template1 
template1=# ALTER USER postgres WITH PASSWORD '123456'; 
संबंधित मुद्दे