PostgreSQL के भीतर से वर्तमान डेटाबेस का नाम कैसे प्राप्त करें?


81

\c <database_name>PostgreSQL में उपयोग नामांकित डेटाबेस से कनेक्ट होगा।

वर्तमान डेटाबेस का नाम कैसे निर्धारित किया जा सकता है?

में प्रवेश:

my_db> current_database();

पैदा करता है:

ERROR:  syntax error at or near "current_database"
LINE 1: current_database();

7
Mihai

1
पहले एक चयन जोड़ें।
Mihai

4
आप जानते हैं कि संकेत my_dbपहले से ही आपको वर्तमान डेटाबेस बताता है?
a_horse_with_no_name

जवाबों:


130

फ़ंक्शन current_database()वर्तमान डेटाबेस का नाम लौटाता है:

 SELECT current_database();

यह एक SQL फ़ंक्शन है, इसलिए आपको इसे SQL कथन के भाग के रूप में कॉल करना होगा। PostgreSQL स्टैंडअलोन क्वेरी के रूप में रनिंग फ़ंक्शंस का समर्थन नहीं करता है, और CALLकुछ अन्य एसक्यूएल इंजन की तरह कोई बयान नहीं है , इसलिए आप बस SELECTएक फ़ंक्शन को कॉल करने के लिए उपयोग करते हैं।


33

आप psql में "\ conninfo" का उपयोग कर सकते हैं


से psqlसंस्करण 9.1। हालांकि मूल रूप से psqlइन दिनों सभी ग्राहकों को कवर करना चाहिए , हालांकि।
डेज़ो

26
\c

कुछ ऐसा प्रिंट करता है

You are now connected to database "foobar" as user "squanderer".

यदि आप एक नया कनेक्शन बनाने में कोई आपत्ति नहीं करते हैं, तो इसका उपयोग करें, क्योंकि ऐसा होता है। सभी मापदंडों के बिना \ connect (छोटा रूप में \ c) आपके वर्तमान के समान एक नया कनेक्शन बनाएगा। वर्तमान कनेक्शन बंद है।

Http://www.postgresql.org/docs/9.3/static/app-psql.html पर \ कनेक्ट कमांड कल्पना देखें :

यदि किसी भी dbname, उपयोगकर्ता नाम, होस्ट या पोर्ट को छोड़ दिया जाता है (...), पिछले कनेक्शन से उस पैरामीटर का मान उपयोग किया जाता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.