2010-10-01 26 views
7

मैं पासवर्ड प्रॉम्प्ट के बिना psql कमांड का उपयोग करने के लिए रूट (उबंटू 8.04) को सक्षम करने की कोशिश कर रहा हूं (स्क्रिप्टिंग उद्देश्य के लिए)। सब कुछ PostGreSQL 8.3 के साथ ठीक काम करता है, लेकिन मैं PostGreSQL 8.4 पर माइग्रेट करता हूं और पासवर्ड के बिना लॉगिन अब काम नहीं करता है।पोस्टग्रेएसक्यूएल पासवर्ड प्रॉम्प्ट के बिना: .pgpass अनदेखा

मेरे पास एक सही .pgpass फ़ाइल (8.3 के लिए भी उपयोग की जाती है), /root/.pgpass का अधिकार 0600 है लेकिन psql को कॉल करने के लिए पासवर्ड मांगना जारी रखें।

एनबी: PGPASSFILE चर खाली है, इसलिए मुझे लगता है कि .pgpass फ़ाइल का उपयोग किया जाना चाहिए।

कोई शानदार विचार?

धन्यवाद

+0

"strace -o psql ..." और फिर ".pgpass" के लिए लॉग फ़ाइल में देखें। –

+0

यहां लॉग लाइन फ़ाइल (।/Root/.pgpass ", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 खुले ("/root/.pgpass " , O_RDONLY) = 3 स्टेट ("/ root/.pgpass", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 खुला ("/ root/.pgpass", O_RDONLY) = 3 – AsTeR

+0

मेरे पास एक रेखा भी है जो दिखाती है कि pgsql को पासवर्ड मिला: पढ़ें (3, "लोकलहोस्ट: 5432: डीबीनाम: usrname: passw" ..., 4096) = 37 – AsTeR

उत्तर

11

कोशिश की जाँच करने के अगर यह काम करता है:

*:*:*:postgres:password_for_postgres_user 

और फिर प्रयास करें:

VERBOSITY=verbose psql --no-password --user postgres 

यह सवाल शायद serverfault.com के लिए चले जाना चाहिए।

+0

आप सही हैं कि यह एक सर्वर प्रशासन समस्या है। समस्या यह थी कि सर्वर पोस्टग्रेस 8.3 के ठीक बाद स्थापित किया गया था और इस प्रकार स्थापना 5432 के बजाय पोर्ट 5433 पर चलती है। मैंने postgres.conf को संपादित करके इसे ठीक किया है। धन्यवाद ! – AsTeR