2012-01-24 10 views
36

मैं अच्छी तरह से प्रारूपित करने के लिए psql प्राप्त करने का प्रयास कर रहा हूं और here दस्तावेज़ों का पालन कर रहा हूं। अभी, जब भी मैं कई स्तंभों के साथ तालिकाओं पर एक प्रश्न करता हूं, इससे कोई फर्क नहीं पड़ता कि मैं अपनी स्क्रीन को कितनी बड़ी बनाता हूं, प्रत्येक पंक्ति अगले पंक्ति में बहती है और अपठनीय जंक की पूरी स्क्रीन तैयार करती है।PostgreSQL psql टर्मिनल कमांड

दस्तावेज़ (लिंक ऊपर है) कहते हैं कि अधिक पठनीय आउटपुट के लिए कॉलम को अच्छी तरह से संरेखित करने का एक तरीका है।

आम तौर पर, psql शुरू करने के लिए, मैं सिर्फ टाइप करें:

psql

और मारा दर्ज करें। अब मैं कोशिश कर रहा हूँ:

psql \pset format aligned

और एक त्रुटि हो रही है: कैसे मैं इन कमांड लाइन आर्ग मेरे लिए काम करने के लिए मिल सकता है के रूप में

could not change directory to "/root" 
psql: warning: extra command-line argument "aligned" ingored 
psql: FATAL: Indent authentication failed for user "format" 

कोई भी विचार?

+2

उबंटू 13/10: sudo -u postgres psql पर। फिर \ n इंटरैक्टिव शैल में परिणाम "अब आप डेटाबेस से जुड़े हैं" पोस्टग्रेज़ "उपयोगकर्ता" पोस्टग्रेज़ "के रूप में। – Timo

उत्तर

65

ये कमांड लाइन तर्क नहीं हैं। Psql चलाएं। डेटाबेस में लॉग इन करने के लिए प्रबंधित करें (इसलिए यदि आवश्यक हो तो होस्टनाम, पोर्ट, उपयोगकर्ता और डेटाबेस पास करें)। और फिर इसे psql प्रोग्राम में लिखें।

psql -h host -p 5900 -U username database 
\pset format aligned 
+0

कीवर्ड की व्यवस्था को नोट करें, इसे उसी क्रम में लिखने का प्रयास करें और यह काम करता है :) - धन्यवाद प्रिय – ImranNaqvi

5

उपयोग postgres पुस्तिका से \x उदाहरण::

postgres=# \x 
    postgres=# SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 3; 
    -[ RECORD 1 ]------------------------------------------------------------ 
    userid  | 10 
    dbid  | 63781 
    query  | UPDATE branches SET bbalance = bbalance + $1 WHERE bid = $2; 
    calls  | 3000 
    total_time | 20.716706 
    rows  | 3000 
    -[ RECORD 2 ]------------------------------------------------------------ 
    userid  | 10 
    dbid  | 63781 
    query  | UPDATE tellers SET tbalance = tbalance + $1 WHERE tid = $2; 
    calls  | 3000 
    total_time | 17.1107649999999 
    rows  | 3000 
    -[ RECORD 3 ]------------------------------------------------------------ 
    userid  | 10 
    dbid  | 63781 
    query  | UPDATE accounts SET abalance = abalance + $1 WHERE aid = $2; 
    calls  | 3000 
    total_time | 0.645601 
    rows  | 3000 

उदाहरण (नीचे दो आदेशों, पहले एक लिखने, प्रेस दर्ज करें, लॉगइन करने के लिए psql लिए प्रतीक्षा करें, दूसरा बारे में कर रहे हैं)

4
psql --pset=format=FORMAT 

कमांड लाइन से क्वेरी निष्पादित करने के लिए बढ़िया, उदाहरण के लिए

psql --pset=format=unaligned -c "select bandanavalue from bandana where bandanakey = 'atlassian.confluence.settings';" 
-3

चरणों windows-7 कमांड लाइन से PostgreSQL v9.3 सर्वर से कनेक्ट करने इस प्रकार हैं -

1. Go to the start --> All programs --> postgresql 9.3 --> Sql Shell (psql) 
2. Just enter the details requested by postgres server, I've shown log snippet from my CMD. 

(नोट: "postgres" उपयोगकर्ता PostgreSQL सर्वर के लिए सुपर उपयोगकर्ता हो जाएगा, Pwd पोस्टग्रेस्क्ल की स्थापना के दौरान आपके द्वारा दर्ज किया जाना चाहिए)

Server [localhost]: localhost 
Database [postgres]: postgres 
Port [5432]: 5432 
Username [postgres]: postgres 
Password for user postgres: 
psql (9.3.5) 
WARNING: Console code page (437) differs from Windows code page (1252) 
     8-bit characters might not work correctly. See psql reference 
     page "Notes for Windows users" for details. 
Type "help" for help. 

postgres=# CREATE ROLE prateek LOGIN PASSWORD 'test_123' NOINHERIT CREATEDB; 
CREATE ROLE 
postgres=#