Createdb کمانڈ کا استعمال کرتے ہوئے PostgreSQL میں ایک ڈیٹا بیس بنائیں

Createdb Kman Ka Ast Mal Krt Wy Postgresql My Ayk Y A Bys Bnayy



اس گائیڈ میں، ہم Createdb کمانڈ کا استعمال کرتے ہوئے PostgreSQL میں ڈیٹا بیس بنانے کے بارے میں سیکھیں گے۔

شرائط:

اس گائیڈ میں دکھائے گئے اقدامات کو انجام دینے کے لیے، آپ کو درج ذیل اجزاء کی ضرورت ہے:

  • ایک مناسب طریقے سے تشکیل شدہ لینکس سسٹم۔ جانچ کے لیے، غور کریں۔ ورچوئل باکس کا استعمال کرتے ہوئے ورچوئل اوبنٹو مشین ترتیب دینا .
  • پوسٹگری ایس کیو ایل کو انسٹال اور کنفیگر کیا گیا۔ متعلق مزید پڑھئے Ubuntu پر PostgreSQL انسٹال کرنا .
  • تک رسائی a سوڈو استحقاق کے ساتھ غیر جڑ صارف .

PostgreSQL ڈیٹا بیس

پوسٹگری ایس کیو ایل ایک مفت اور اوپن سورس ایس کیو ایل کے مطابق آبجیکٹ ریلیشنل ڈیٹا بیس سسٹم ہے۔ یہ رشتہ دار (SQL) اور غیر متعلقہ (JSON) استفسار کے ساتھ کام کر سکتا ہے۔ کے بارے میں مزید جانیں۔ PostgreSQL کی خصوصیات .







PostgreSQL میں، ڈیٹا کا درجہ بندی اس طرح ہے:



  • جھرمٹ
  • ڈیٹا بیس
  • سکیما
  • ٹیبل (یا دیگر اشیاء؛ مثال کے طور پر، فنکشن)

کوئی بھی PostgreSQL مثال ایک سے زیادہ کلائنٹ کنکشن کو قبول کر سکتی ہے۔ کلائنٹ کو کنکشن کی درخواست میں ڈیٹا بیس کا نام بتانا چاہیے۔ فی کنکشن صرف ایک ڈیٹا بیس کی اجازت ہے۔ تاہم، ایک کلائنٹ سرور سے متعدد کنکشن کھول سکتا ہے، بیک وقت ایک یا زیادہ ڈیٹا بیس سے منسلک ہو سکتا ہے۔



PostgreSQL میں ڈیٹا بیس بنانا

1. سرور سے کنکشن کھولنا

نیا ڈیٹا بیس بنانے کے لیے، پہلے PostgreSQL سرور سے جڑیں:





$ sudo -میں میں پوسٹگریس
$psql

نوٹ کریں کہ ڈیٹا بیس کی تخلیق ایک محدود آپریشن ہے۔ صرف کافی استحقاق کے حامل صارفین کو کارروائی کرنے کی اجازت ہے۔



2. موجودہ ڈیٹا بیس کی فہرست بنانا
سرور پر ڈیٹا بیس کی فہرست پرنٹ کرنے کے لیے psql میں درج ذیل استفسار کو چلائیں:

$ فہرست

انسٹالیشن کے دوران، PostgreSQL سرور کا پہلا ڈیٹا بیس بناتا ہے جو کہ 'postgres' ہے۔ دو اضافی ڈیٹا بیس بھی بنائے گئے ہیں:

  • ٹیمپلیٹ 1 : جب بھی کلسٹر کے اندر کوئی نیا ڈیٹا بیس بناتے ہیں، 'ٹیمپلیٹ 1' کو کلون کیا جاتا ہے۔
  • ٹیمپلیٹ0 : یہ 'ٹیمپلیٹ1' کے اصل مواد کی قدیم کاپی کے طور پر کام کرتا ہے۔

'ٹیمپلیٹ 1' کے اندر اشیاء نہ بنائیں جب تک کہ آپ انہیں ہر نئے بنائے گئے ڈیٹا بیس کا حصہ نہ بنائیں۔ اگر 'ٹیمپلیٹ1' میں ترمیم کی گئی ہے تو، 'ٹیمپلیٹ0' کو بغیر کسی سائٹ کے مقامی اضافے کے ایک نیا ڈیٹا بیس بنانے کے لیے کلون کیا جا سکتا ہے۔

3. ایک نیا ڈیٹا بیس بنانا
نیا ڈیٹا بیس بنانے کے لیے، psql میں درج ذیل استفسار کو چلائیں:

$ ڈیٹا بیس بنائیں < db_name > ;

یہاں:

  • موجودہ کردار خود بخود نئے ڈیٹا بیس کے مالک کے طور پر فرض کیا جاتا ہے۔
  • مالک کو یہ استحقاق حاصل ہے کہ وہ مالک کو ایک مختلف کردار میں تبدیل کرے۔

درج ذیل کمانڈ کا استعمال کرتے ہوئے ڈیٹا بیس کی فہرست چیک کریں اگر کارروائی کامیاب ہے:

$ فہرست

مراعات یافتہ اکاؤنٹ کے ساتھ، ہم درج ذیل کمانڈ کا استعمال کرتے ہوئے کسی اور کے لیے ڈیٹا بیس بھی بنا سکتے ہیں۔

$ ڈیٹا بیس بنائیں < db_name > مالک < کردار > ;

Createdb کمانڈ

پچھلے طریقہ میں، ہمیں ڈیٹا بیس بنانے کے لیے متعدد مراحل سے گزرنا پڑا:

  • psql کا استعمال کرتے ہوئے PostgreSQL سرور سے جڑیں۔
  • نیا ڈیٹا بیس بنانے کے لیے سوالات چلائیں۔

عمل کو ہموار کرنے کے لیے، PostgreSQL createb کمانڈ کے ساتھ آتا ہے۔ یہ بنیادی طور پر ان اعمال کے لیے ایک ریپر کے طور پر کام کرتا ہے۔ ہم شیل سے براہ راست createb کمانڈ چلا سکتے ہیں۔

1. Createdb کا استعمال کرتے ہوئے ڈیٹا بیس بنانا
ڈیفالٹ ڈیٹا بیس سرور کا استعمال کرتے ہوئے ڈیٹا بیس بنانے کے لیے، درج ذیل کمانڈ کا استعمال کریں:

$ تخلیق بی < db_name >

درج ذیل کمانڈ کا استعمال کرتے ہوئے کارروائی کی تصدیق کریں:

$ پی ایس کیو ایل -c '\ فہرست'

مختلف اختیارات کے ساتھ، ہم createb آپریشنز کو بھی ٹھیک کر سکتے ہیں۔ مندرجہ ذیل مثال کو چیک کریں:

$ تخلیق بی -h < میزبان > -p < بندرگاہ > -T < سانچے > -یہ ہے --صارف کا نام = < صارف نام > --پاس ورڈ --مینٹیننس-ڈی بی = < مینٹیننس_ڈی بی_نام > < db_name >

یہاں:

  • -h : یہ پیرامیٹر PostgreSQL سرور لوکیشن (IP ایڈریس یا ڈومین کا نام) بتاتا ہے۔
  • -p : سرور سے جڑنے کے لیے پورٹ۔
  • -T : نیا ڈیٹا بیس بناتے وقت استعمال کرنے کے لیے ٹیمپلیٹ۔ یہ template0، template1، یا کوئی اور ڈیٹا بیس ہو سکتا ہے۔
  • -یہ ہے : مساوی سوال کی بازگشت۔
  • - صارف کا نام : سرور سے جڑنے کے لیے صارف نام۔
  • - پاس ورڈ : سرور سے منسلک ہونے سے پہلے createb کمانڈ کو پاس ورڈ کا اشارہ کرنے پر مجبور کرتا ہے۔ زیادہ تر صورتوں میں، اس کی ضرورت نہیں ہے کیونکہ createb خود بخود پاس ورڈ کا اشارہ کرتا ہے اگر سرور کو اس کی ضرورت ہو۔ تاہم، یہ اس کا پتہ لگانے میں کنکشن کی کوشش خرچ کرتا ہے۔
  • - دیکھ بھال- ڈی بی : نیا ڈیٹا بیس بناتے وقت جس ڈیٹا بیس سے جڑنا ہے۔ اگر متعین نہیں ہے تو، پوسٹگریس کو بطور ڈیفالٹ فرض کیا جاتا ہے۔ اگر پوسٹگریس موجود نہیں ہے تو، 'ٹیمپلیٹ 1' فرض کیا جاتا ہے۔

اسے عمل میں لانے کا وقت۔ مندرجہ ذیل createb کمانڈ چلائیں:

$ تخلیق بی -h لوکل ہوسٹ -p 5432 -T ٹیمپلیٹ0 -یہ ہے --صارف کا نام =پوسٹگریس ٹیسٹ_ڈی بی

جیسا کہ آؤٹ پٹ سے پتہ چلتا ہے، یہ درج ذیل استفسار کے برابر ہے:

$ ڈیٹا بیس بنائیں ٹیسٹ_ڈی بی ٹیمپلیٹ ٹیمپلیٹ0؛

اضافی ڈیٹا بیس مینجمنٹ

اس سیکشن میں، آئیے ڈیٹا بیس کے انتظام کے دیگر کاموں پر ایک نظر ڈالتے ہیں۔

ڈیٹا بیس کی فہرست بنانا

سرور میں ذخیرہ شدہ ڈیٹا بیس کی فہرست بنانے کے چند طریقے ہیں۔ ہم نے پہلے ہی پچھلے حصوں میں ایک طریقہ کا مظاہرہ کیا ہے:

$ فہرست

دوسرا طریقہ یہ ہے کہ 'pg_database' سسٹم کیٹلاگ کی جانچ کی جائے۔

$ pg_database سے datname منتخب کریں؛

ڈیٹا بیس کو حذف کرنا

ڈیٹا بیس کو حذف کرنے کے لیے درج ذیل استفسار کو چلائیں:

$ ڈراپ ڈیٹا بیس < db_name > ;

Createdb کی طرح، PostgreSQL بھی ڈراپ ڈی بی کمانڈ کے ساتھ آتا ہے جسے ہم شیل سے چلا سکتے ہیں۔ درج ذیل مثال پر ایک نظر ڈالیں:

$ ڈراپ ڈی بی -h < میزبان > -p < بندرگاہ > --صارف کا نام = < صارف نام > --پاس ورڈ -یہ ہے < db_name >

یہاں:

  • -h : PostgreSQL سرور جس سے جڑنا ہے۔
  • -p : PostgreSQL سرور کی بندرگاہ جس سے جڑنا ہے۔
  • -یہ ہے : مساوی سوال کی بازگشت۔

نوٹ کریں کہ صارف کے پاس ڈیٹا بیس کو حذف کرنے کے لیے کافی استحقاق ہونا چاہیے۔

ڈیٹا بیس کی ملکیت کو تبدیل کرنا

ڈیٹا بیس کا مالک ڈیٹا بیس پر کوئی بھی کارروائی کر سکتا ہے، بشمول ڈیٹا بیس کو حذف کرنا۔ پہلے سے طے شدہ طور پر، ڈیٹا بیس بنانے والے صارف کو مالک کے طور پر تفویض کیا جاتا ہے۔ تاہم، ہم کسی دوسرے صارف کو ملکیت دوبارہ تفویض کر سکتے ہیں۔

ڈیٹا بیس کے مالک کو تبدیل کرنے کے لیے، psql میں درج ذیل استفسار کو چلائیں:

$ ڈیٹا بیس کو تبدیل کریں۔ < db_name > مالک کو < نیا_مالک > ;

تاہم، یہ ڈیٹا بیس (بشمول ٹیبلز) کے اندر موجود اشیاء کی ملکیت کو تبدیل نہیں کرے گا۔ ایسے معاملات میں، ہمیں ایک مختلف استفسار کا استعمال کرنا ہوگا۔ ٹارگٹ ڈیٹا بیس سے جڑیں اور درج ذیل استفسار کو چلائیں:

$ از سر نو ملکیت < پرانا_مالک > TO < نیا_مالک > ;

آسان ہونے کے باوجود، یہ استفسار چند انتباہات کے ساتھ آتا ہے:

  • پوسٹگریس (ڈیٹا بیس) سے منسلک ہونے پر، یہ ایک ہی وقت میں متعدد ڈیٹا بیس کی ملکیت کو تبدیل کر سکتا ہے۔
  • جب اصل مالک پوسٹگریس ہو تو اس استفسار کا استعمال نہ کریں کیونکہ یہ پوری ڈی بی مثال کو خراب کر سکتا ہے۔

بونس: شیل سے سوالات چلانا

اب تک، ہم PostgreSQL کنسول سے سوالات چلاتے ہیں۔ کیا ہوگا اگر آپ اپنی اسکرپٹ میں ڈیٹا بیس کی کچھ خصوصیات کو شامل کرنا چاہتے ہیں؟ Createdb اور dropdb کمانڈز صرف مخصوص آپریشن کر سکتے ہیں۔

اس کو حل کرنے کے لیے، ہم psql کو بطور نالی استعمال کر سکتے ہیں۔ معیاری انٹرایکٹو شیل کے علاوہ، پی ایس کیو ایل فلائی پر سوالات بھی چلا سکتا ہے۔

طریقہ 1:

کمانڈ کی ساخت مندرجہ ذیل ہے:

$ پی ایس کیو ایل -h < میزبان > -p < بندرگاہ > -IN < صارف نام > -d < ڈیٹا بیس > -c < استفسار >

یہاں:

  • -h : PostgreSQL سرور کا پتہ۔
  • -p : جس بندرگاہ سے جڑنا ہے (پہلے سے طے شدہ قدر 5432 ہے)۔
  • -IN : صارف جس سے جڑنا ہے۔
  • -d : ڈیٹا بیس جس سے جڑنا ہے۔
  • -c : استفسار کرنا ہے۔

طریقہ 2:

PostgreSQL ایک اور دلچسپ خصوصیت کے ساتھ آتا ہے: کنکشن URI۔ یہ کنکشن کے تمام پیرامیٹرز کو صاف ستھرا انکوڈنگ کرنے کا ایک ہوشیار طریقہ ہے۔ کنکشن URI کی ساخت اس طرح ہے:

$ postgresql: //< صارف نام > : < پاس ورڈ >@< میزبان > : < بندرگاہ >/< db_name >

یہاں:

  • postgresql یا پوسٹگریس : PostgreSQL کنکشن URI کے لیے منفرد پروٹوکول۔

کنکشن URI کا استعمال کرتے ہوئے ڈیٹا بیس سے جڑنے کے لیے، درج ذیل psql کمانڈ استعمال کریں:

$ پی ایس کیو ایل -d < کنکشن_وری > -c < استفسار >

نتیجہ

ہم نے PostgreSQL میں ڈیٹا بیس بنانے کے مختلف طریقوں کے بارے میں سیکھا۔ ہم نے دکھایا کہ ڈیٹا بیس تخلیق کرنے کا طریقہ استعمال کرتے ہوئے ڈیٹا بیس استفسار کیا جاتا ہے۔ ہم نے createb کمانڈ کا استعمال کرتے ہوئے ڈیٹا بیس کی تخلیق کو بھی دکھایا۔ اس کے علاوہ، ہم نے ڈیٹا بیس کے انتظام کے کچھ دیگر اہم اقدامات جیسے ڈیٹابیس کو حذف کرنا اور مالک کو تبدیل کرنا۔

PostgreSQL کے بارے میں مزید جاننے میں دلچسپی ہے؟ چیک کریں PostgreSQL ذیلی زمرہ y جس میں مختلف خصوصیات پر متعدد گائیڈز شامل ہیں؛ مثال کے طور پر: افعال , باقاعدہ اظہار , میزیں ، اور بہت کچھ.