जब पोस्टग्रेज डेटाबेस को प्रशासित करने की बात आती है, तो SQL कार्यक्षेत्र/J या pgAdmin III जैसे तृतीय पक्ष टूल की एक विस्तृत विविधता उपलब्ध होती है। हालाँकि, Postgres स्वयं एक शक्तिशाली कमांड लाइन टूल के साथ आता है जिसे psql
. कहा जाता है जो टर्मिनल से परिचित या स्क्रिप्ट प्रशासन कार्यों की तलाश करने वालों के लिए बहुत अच्छा है। एक डेटाबेस व्यवस्थापक द्वारा किए जाने वाले सबसे सामान्य कार्यों में से एक बस पर्यावरण से परिचित होना है। इसमें "इस सर्वर पर कौन से डेटाबेस रहते हैं?" जैसे प्रश्न पूछना शामिल है। या "इस सर्वर पर किसी विशेष डेटाबेस में कौन सी तालिकाएँ संग्रहीत हैं?"। इस ट्यूटोरियल में, हम सीखेंगे कि psql
. का उपयोग करके कमांड लाइन से इन प्रमुख प्रश्नों का उत्तर कैसे दिया जाए ।
मेटा-कमांड
psql
. के माध्यम से सर्वर पर अपरिष्कृत SQL क्वेरी सबमिट करने में सक्षम होने के अलावा आप psql
. का भी लाभ उठा सकते हैं सर्वर से जानकारी प्राप्त करने के लिए मेटा-कमांड। मेटा-कमांड वे कमांड हैं जिनका मूल्यांकन psql
. द्वारा किया जाता है और अक्सर SQL में अनुवाद किया जाता है जो सर्वर पर सिस्टम टेबल के खिलाफ जारी किया जाता है, नियमित कार्यों को करते समय प्रशासकों के समय की बचत करता है। उन्हें बैकस्लैश द्वारा और फिर कमांड और उसके तर्कों द्वारा दर्शाया जाता है। इसके कुछ उदाहरण हम नीचे देखेंगे।
लिस्टिंग डेटाबेस
एक पोस्टग्रेज सर्वर प्रक्रिया एक ही समय में कई डेटाबेस का प्रबंधन कर सकती है। प्रत्येक डेटाबेस को सर्वर की डेटा निर्देशिका के भीतर अपनी निर्देशिका में फ़ाइलों के एक अलग सेट के रूप में संग्रहीत किया जाता है। सर्वर पर सभी परिभाषित डेटाबेस देखने के लिए आप \list
. का उपयोग कर सकते हैं मेटा-कमांड या उसका शॉर्टकट \l
।
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
sales | ubuntu | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
स्विचिंग डेटाबेस
अधिकांश पोस्टग्रेज सर्वर में डिफ़ॉल्ट रूप से परिभाषित तीन डेटाबेस होते हैं:template0
, template1
और postgres
. template0
और template1
कंकाल डेटाबेस हैं जो CREATE DATABASE
. द्वारा उपयोग किए जा सकते हैं या किए जा सकते हैं आज्ञा। postgres
डिफ़ॉल्ट डेटाबेस है जिसे आप कोई अन्य डेटाबेस बनाने से पहले कनेक्ट करेंगे। एक बार जब आप एक और डेटाबेस बना लेते हैं तो आप टेबल बनाने और डेटा डालने के लिए उस पर स्विच करना चाहेंगे। अक्सर, कई डेटाबेस प्रबंधित करने वाले सर्वर के साथ काम करते समय, आपको अक्सर डेटाबेस के बीच कूदने की आवश्यकता होती है। यह \connect
. के साथ किया जा सकता है मेटा-कमांड या उसका शॉर्टकट \c
।
postgres=# \c sales
You are now connected to database "sales" as user "ubuntu".
sales=#
लिस्टिंग टेबल्स
एक बार जब आप एक डेटाबेस से जुड़ जाते हैं, तो आप निरीक्षण करना चाहेंगे कि वहां कौन सी टेबल बनाई गई हैं। यह \dt
. के साथ किया जा सकता है मेटा-कमांड। हालांकि, अगर कोई टेबल नहीं हैं तो आपको कोई आउटपुट नहीं मिलेगा।
sales=# \dt
No relations found.
sales=#
तालिका बनाने के बाद, इसे बनाई गई तालिकाओं की सारणीबद्ध सूची में वापस कर दिया जाएगा।
sales=# CREATE TABLE leads (id INTEGER PRIMARY KEY, name VARCHAR);
CREATE TABLE
sales=# \dt
List of relations
Schema | Name | Type | Owner
--------+-------+-------+--------
public | leads | table | ubuntu
(1 row)
sales=#