बनाए गए कमांड का उपयोग करके PostgreSQL में एक डेटाबेस बनाएँ

Bana E Ga E Kamanda Ka Upayoga Karake Postgresql Mem Eka Detabesa Bana Em



इस गाइड में, हम createb कमांड का उपयोग करके PostgreSQL में एक डेटाबेस बनाने के बारे में जानेंगे।

पूर्वापेक्षाएँ:

इस गाइड में दिखाए गए चरणों को पूरा करने के लिए, आपको निम्नलिखित घटकों की आवश्यकता होगी:

  • एक ठीक से कॉन्फ़िगर किया गया लिनक्स सिस्टम। परीक्षण के लिए, विचार करें VirtualBox का उपयोग करके एक वर्चुअल Ubuntu मशीन स्थापित करना .
  • स्थापित और कॉन्फ़िगर किया गया PostgreSQL। बारे में और सीखो Ubuntu पर PostgreSQL स्थापित करना .
  • ए तक पहुंच सुडो विशेषाधिकार के साथ गैर-रूट उपयोगकर्ता .

पोस्टग्रेएसक्यूएल डेटाबेस

पोस्टग्रेएसक्यूएल एक स्वतंत्र और ओपन-सोर्स एसक्यूएल-अनुपालन ऑब्जेक्ट-रिलेशनल डेटाबेस सिस्टम है। यह रिलेशनल (SQL) और नॉन-रिलेशनल (JSON) क्वेरी दोनों के साथ काम कर सकता है। के बारे में और जानें पोस्टग्रेएसक्यूएल की विशेषताएं .







PostgreSQL में, डेटा पदानुक्रम इस प्रकार है:



  • झुंड
  • डेटाबेस
  • योजना
  • तालिका (या अन्य वस्तुएं; उदाहरण के लिए, फ़ंक्शन)

कोई भी PostgreSQL उदाहरण एकाधिक क्लाइंट कनेक्शन स्वीकार कर सकता है। क्लाइंट को कनेक्शन अनुरोध में डेटाबेस का नाम निर्दिष्ट करना होगा। प्रति कनेक्शन केवल एक डेटाबेस की अनुमति है। हालाँकि, एक क्लाइंट एक या एक से अधिक डेटाबेस से एक साथ जुड़कर, सर्वर से कई कनेक्शन खोल सकता है।



PostgreSQL में एक डेटाबेस बनाना

1. सर्वर से कनेक्शन खोलना

नया डेटाबेस बनाने के लिए, पहले PostgreSQL सर्वर से कनेक्ट करें:





$ सुडो -मैं -में postgres
$ psql

ध्यान दें कि डेटाबेस निर्माण एक प्रतिबंधित ऑपरेशन है। केवल पर्याप्त विशेषाधिकार वाले उपयोगकर्ताओं को कार्रवाई करने की अनुमति है।



2. वर्तमान डेटाबेस को सूचीबद्ध करना
सर्वर पर डेटाबेस की सूची मुद्रित करने के लिए psql में निम्न क्वेरी चलाएँ:

$ \सूची

स्थापना के दौरान, PostgreSQL सर्वर का पहला डेटाबेस बनाता है जो 'पोस्टग्रेज' है। दो अतिरिक्त डेटाबेस भी बनाए गए हैं:

  • टेम्पलेट1 : क्लस्टर के भीतर जब भी कोई नया डेटाबेस बनाते हैं, तो 'टेम्प्लेट1' का क्लोन बनाया जाता है।
  • टेम्पलेट0 : यह 'टेम्प्लेट1' की मूल सामग्री की मूल प्रति के रूप में कार्य करता है।

'टेम्प्लेट1' के भीतर ऑब्जेक्ट तब तक न बनाएं जब तक कि आप उन्हें हर नए बनाए गए डेटाबेस का हिस्सा नहीं बनाना चाहते। यदि 'टेम्प्लेट1' को संशोधित किया जाता है, तो 'टेम्प्लेट0' को बिना किसी साइट-स्थानीय परिवर्धन के एक नया डेटाबेस बनाने के लिए क्लोन किया जा सकता है।

3. एक नया डेटाबेस बनाना
नया डेटाबेस बनाने के लिए, psql में निम्न क्वेरी चलाएँ:

$ डेटाबेस बनाएं < db_name > ;

यहाँ:

  • वर्तमान भूमिका स्वचालित रूप से नए डेटाबेस के स्वामी के रूप में मान ली जाती है।
  • स्वामी के पास स्वामी को एक अलग भूमिका में बदलने का विशेषाधिकार है।

निम्नलिखित कमांड का उपयोग करके कार्रवाई सफल होने पर डेटाबेस की सूची जांचें:

$ \सूची

विशेषाधिकार प्राप्त खाते के साथ, हम निम्न आदेश का उपयोग करके किसी और के लिए डेटाबेस भी बना सकते हैं:

$ डेटाबेस बनाएं < db_name > मालिक < भूमिका > ;

बनाया गया डीबी कमांड

पिछली पद्धति में, डेटाबेस बनाने के लिए हमें कई चरणों से गुजरना पड़ा:

  • Psql का उपयोग करके PostgreSQL सर्वर से कनेक्ट करें।
  • नया डेटाबेस बनाने के लिए क्वेरीज़ चलाएँ।

प्रक्रिया को सुव्यवस्थित करने के लिए, PostgreSQL क्रिएटेड कमांड के साथ आता है। यह मूल रूप से इन कार्यों के लिए एक आवरण के रूप में कार्य करता है। हम सीधे शेल से क्रिएटेड कमांड चला सकते हैं।

1. क्रिएटेडबी का उपयोग करके एक डेटाबेस बनाना
डिफ़ॉल्ट डेटाबेस सर्वर का उपयोग कर डेटाबेस बनाने के लिए, निम्न आदेश का उपयोग करें:

$ createb < db_name >

निम्न आदेश का उपयोग करके क्रिया को सत्यापित करें:

$ psql -सी '\सूची'

विभिन्न विकल्पों के साथ, हम क्रिएटेडब ऑपरेशंस को फाइन-ट्यून भी कर सकते हैं। निम्न उदाहरण देखें:

$ createb -एच < मेज़बान > -पी < पत्तन > -टी < खाका > -यह है --उपयोगकर्ता नाम = < उपयोगकर्ता नाम > --पासवर्ड --रखरखाव-डीबी = < रखरखाव_डीबी_नाम > < db_name >

यहाँ:

  • -एच : यह पैरामीटर PostgreSQL सर्वर स्थान (आईपी पता या डोमेन नाम) निर्दिष्ट करता है।
  • -पी : पोर्ट सर्वर से कनेक्ट करने के लिए।
  • -टी : नया डेटाबेस बनाते समय उपयोग करने के लिए टेम्पलेट। यह Template0, Template1, या कोई अन्य डेटाबेस हो सकता है।
  • -यह है : समतुल्य क्वेरी को प्रतिध्वनित करता है।
  • -उपयोगकर्ता नाम : सर्वर से कनेक्ट करने के लिए उपयोगकर्ता नाम।
  • -पासवर्ड : सर्वर से कनेक्ट करने से पहले क्रिएटेड कमांड को पासवर्ड के लिए संकेत देने के लिए बाध्य करता है। ज्यादातर मामलों में, इसकी आवश्यकता नहीं होती है क्योंकि createb स्वचालित रूप से एक पासवर्ड के लिए संकेत देता है यदि सर्वर को इसकी आवश्यकता होती है। हालाँकि, यह पता लगाने में एक कनेक्शन प्रयास खर्च करता है।
  • -रखरखाव-डीबी : नया डेटाबेस बनाते समय कनेक्ट होने वाला डेटाबेस। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट रूप से पोस्टग्रेज मान लिया जाता है। यदि पोस्टग्रेज मौजूद नहीं है, तो 'टेम्प्लेट 1' मान लिया जाता है।

इसे कार्रवाई में लगाने का समय। निम्न createb कमांड चलाएँ:

$ createb -एच स्थानीय होस्ट -पी 5432 -टी टेम्पलेट0 -यह है --उपयोगकर्ता नाम = पोस्टग्रेज test_db

जैसा कि आउटपुट बताता है, यह निम्न क्वेरी के बराबर है:

$ डेटाबेस बनाएँ test_db टेम्पलेट Template0;

अतिरिक्त डेटाबेस प्रबंधन

इस खंड में, आइए अन्य डेटाबेस प्रबंधन कार्यों पर एक नज़र डालें।

डेटाबेस सूचीबद्ध करना

सर्वर में संग्रहीत डेटाबेस को सूचीबद्ध करने के कुछ तरीके हैं। हमने पिछले अनुभागों में पहले ही एक विधि प्रदर्शित कर दी है:

$ \सूची

दूसरा तरीका 'pg_database' सिस्टम कैटलॉग की जांच करना है:

$ pg_database से डेटानाम चुनें;

एक डेटाबेस हटाना

डेटाबेस को हटाने के लिए, निम्न क्वेरी चलाएँ:

$ ड्रॉप डेटाबेस < db_name > ;

createb के समान, PostgreSQL भी dropdb कमांड के साथ आता है जिसे हम शेल से चला सकते हैं। निम्नलिखित उदाहरण पर एक नज़र डालें:

$ dropdb -एच < मेज़बान > -पी < पत्तन > --उपयोगकर्ता नाम = < उपयोगकर्ता नाम > --पासवर्ड -यह है < db_name >

यहाँ:

  • -एच : कनेक्ट करने के लिए PostgreSQL सर्वर।
  • -पी : कनेक्ट करने के लिए PostgreSQL सर्वर का पोर्ट।
  • -यह है : समतुल्य क्वेरी को प्रतिध्वनित करता है।

ध्यान दें कि डेटाबेस को हटाने के लिए उपयोगकर्ता के पास पर्याप्त विशेषाधिकार होना चाहिए।

डेटाबेस स्वामित्व बदलना

डेटाबेस का मालिक डेटाबेस को हटाने सहित डेटाबेस पर कोई भी कार्रवाई कर सकता है। डिफ़ॉल्ट रूप से, डेटाबेस बनाने वाले उपयोगकर्ता को स्वामी के रूप में असाइन किया जाता है। हालांकि, हम स्वामित्व को किसी भिन्न उपयोगकर्ता को पुन: असाइन कर सकते हैं।

डेटाबेस के स्वामी को बदलने के लिए, निम्न क्वेरी को psql में चलाएँ:

$ डेटाबेस बदलें < db_name > मालिक को < नया मालिक > ;

हालाँकि, यह डेटाबेस (तालिकाओं सहित) के भीतर वस्तुओं के स्वामित्व को नहीं बदलेगा। ऐसे मामलों में, हमें एक अलग क्वेरी का उपयोग करना पड़ता है। लक्ष्य डेटाबेस से कनेक्ट करें और निम्न क्वेरी चलाएँ:

$ के स्वामित्व में पुन: असाइन करें < old_owner > को < नया मालिक > ;

सुविधाजनक होते हुए भी, यह प्रश्न कुछ चेतावनियों के साथ आता है:

  • पोस्टग्रेज (डेटाबेस) से कनेक्ट होने पर, यह एक साथ कई डेटाबेस के स्वामित्व को बदल सकता है।
  • मूल स्वामी के पोस्टग्रेज होने पर इस क्वेरी का उपयोग न करें क्योंकि यह संपूर्ण DB उदाहरण को दूषित कर सकता है।

बोनस: शेल से प्रश्नों को चलाना

अभी तक, हम PostgreSQL कंसोल से प्रश्नों को चलाते हैं। क्या होगा यदि आप अपनी स्क्रिप्ट में कुछ डेटाबेस कार्यात्मकताओं को शामिल करना चाहते हैं? createb और dropdb कमांड केवल विशिष्ट ऑपरेशन कर सकते हैं।

इसे हल करने के लिए, हम psql को एक नाली के रूप में उपयोग कर सकते हैं। मानक इंटरएक्टिव शेल के अलावा, psql फ्लाई पर प्रश्नों को भी चला सकता है।

विधि 1:

कमांड संरचना इस प्रकार है:

$ psql -एच < मेज़बान > -पी < पत्तन > -में < उपयोगकर्ता नाम > -डी < डेटाबेस > -सी < जिज्ञासा >

यहाँ:

  • -एच : PostgreSQL सर्वर का पता।
  • -पी : कनेक्ट करने के लिए पोर्ट (डिफ़ॉल्ट मान 5432 है)।
  • -में : उपयोगकर्ता के रूप में कनेक्ट करने के लिए।
  • -डी : कनेक्ट करने के लिए डेटाबेस।
  • -सी : निष्पादित करने के लिए क्वेरी।

विधि 2:

PostgreSQL एक और दिलचस्प विशेषता के साथ आता है: कनेक्शन URI। यह सभी कनेक्शन मापदंडों को बड़े करीने से कूटबद्ध करने का एक चतुर तरीका है। एक कनेक्शन URI की संरचना इस प्रकार है:

$ पोस्टग्रैस्कल: //< उपयोगकर्ता नाम > : < पासवर्ड >@< मेज़बान > : < पत्तन >/< db_name >

यहाँ:

  • postgresql या postgres : PostgreSQL कनेक्शन URI के लिए अद्वितीय प्रोटोकॉल।

कनेक्शन यूआरआई का उपयोग कर डेटाबेस से कनेक्ट करने के लिए, निम्न psql कमांड का उपयोग करें:

$ psql -डी < कनेक्शन_यूरी > -सी < जिज्ञासा >

निष्कर्ष

हमने PostgreSQL में डेटाबेस बनाने के विभिन्न तरीकों के बारे में सीखा। हमने दिखाया कि CREATE DATABASE क्वेरी का उपयोग करके डेटाबेस कैसे बनाया जाता है। हमने createb कमांड का उपयोग करके डेटाबेस निर्माण को भी प्रदर्शित किया। इसके अलावा, हमने कुछ अन्य महत्वपूर्ण डेटाबेस प्रबंधन क्रियाओं जैसे डेटाबेस को हटाना और स्वामी को बदलना भी देखा।

PostgreSQL के बारे में अधिक जानने के इच्छुक हैं? इसकी जाँच पड़ताल करो PostgreSQL उप-श्रेणी y जिसमें विभिन्न विशेषताओं पर कई गाइड शामिल हैं; उदाहरण के लिए: कार्य , नियमित अभिव्यक्ति , टेबल , और भी बहुत कुछ।