जब कोई क्लाइंट एप्लिकेशन पोस्टग्रेज सर्वर से कनेक्ट होता है, तो उसे यह निर्दिष्ट करना होगा कि वह किस डेटाबेस से कनेक्ट होना चाहता है। यदि आप डेटाबेस का नाम नहीं जानते हैं (पोस्टमास्टर द्वारा सेवित क्लस्टर के भीतर जिससे आप कनेक्ट होते हैं), तो आप कमांड के साथ डेटाबेस नामों की एक सूची पा सकते हैं:
psql -l
जब आप उस आदेश को चलाते हैं, तो psql सर्वर से जुड़ता है और डेटाबेस नामों की सूची के लिए pg_database से पूछताछ करता है। हालाँकि, चूंकि psql एक पोस्टग्रेज क्लाइंट एप्लिकेशन है, यह कम से कम एक डेटाबेस का नाम जाने बिना सर्वर से कनेक्ट नहीं हो सकता:कैच -22। इसलिए, जब आप psql -l
चलाते हैं, तो psql को "postgres" नाम के डेटाबेस से कनेक्ट करने के लिए हार्ड-कोड किया जाता है। , लेकिन आप उस स्थिति में एक टेम्पलेट डेटाबेस निर्दिष्ट कर सकते हैं:
psql -l -d template1