Createdb কমান্ড ব্যবহার করে PostgreSQL এ একটি ডাটাবেস তৈরি করুন

Createdb Kamanda Byabahara Kare Postgresql E Ekati Databesa Tairi Karuna



এই গাইডে, আমরা Createdb কমান্ড ব্যবহার করে PostgreSQL-এ একটি ডাটাবেস তৈরি করা সম্পর্কে শিখব।

পূর্বশর্ত:

এই নির্দেশিকায় প্রদর্শিত পদক্ষেপগুলি সম্পাদন করতে, আপনার নিম্নলিখিত উপাদানগুলির প্রয়োজন:

  • একটি সঠিকভাবে কনফিগার করা লিনাক্স সিস্টেম। পরীক্ষার জন্য, বিবেচনা করুন ভার্চুয়ালবক্স ব্যবহার করে একটি ভার্চুয়াল উবুন্টু মেশিন সেট আপ করা .
  • PostgreSQL ইনস্টল এবং কনফিগার করা হয়েছে। এই সম্পর্কে আরও জানো উবুন্টুতে PostgreSQL ইনস্টল করা হচ্ছে .
  • অ্যাক্সেস a সুডো বিশেষাধিকার সহ অ-রুট ব্যবহারকারী .

PostgreSQL ডাটাবেস

পোস্টগ্রেএসকিউএল একটি বিনামূল্যের এবং ওপেন সোর্স SQL-সঙ্গত বস্তু-রিলেশনাল ডাটাবেস সিস্টেম। এটি রিলেশনাল (SQL) এবং নন-রিলেশনাল (JSON) ক্যোয়ারী উভয়ের সাথে কাজ করতে পারে। সম্পর্কে আরো জানুন PostgreSQL এর বৈশিষ্ট্য .







PostgreSQL-এ, ডেটা অনুক্রমটি নিম্নরূপ:



  • ক্লাস্টার
  • তথ্যশালা
  • স্কিমা
  • টেবিল (বা অন্যান্য বস্তু; উদাহরণস্বরূপ, ফাংশন)

যেকোনো PostgreSQL উদাহরণ একাধিক ক্লায়েন্ট সংযোগ গ্রহণ করতে পারে। সংযোগের অনুরোধে ক্লায়েন্টকে অবশ্যই ডাটাবেসের নাম উল্লেখ করতে হবে। সংযোগ প্রতি শুধুমাত্র একটি ডাটাবেস অনুমোদিত. যাইহোক, একটি ক্লায়েন্ট সার্ভারে একাধিক সংযোগ খুলতে পারে, এক বা একাধিক ডাটাবেসের সাথে একযোগে সংযোগ করতে পারে।



PostgreSQL এ একটি ডাটাবেস তৈরি করা

1. সার্ভারে একটি সংযোগ খোলা

একটি নতুন ডাটাবেস তৈরি করতে, প্রথমে PostgreSQL সার্ভারের সাথে সংযোগ করুন:





$ sudo -i -ভিতরে পোস্টগ্রেস
$psql

মনে রাখবেন যে ডাটাবেস তৈরি একটি সীমাবদ্ধ অপারেশন। শুধুমাত্র পর্যাপ্ত বিশেষাধিকার সহ ব্যবহারকারীদের কর্ম সম্পাদন করার অনুমতি দেওয়া হয়।



2. বর্তমান ডাটাবেস তালিকা করা
সার্ভারে ডাটাবেসের তালিকা প্রিন্ট করতে psql-এ নিম্নলিখিত প্রশ্নটি চালান:

$ \তালিকা

ইনস্টলেশনের সময়, PostgreSQL সার্ভারের প্রথম ডাটাবেস তৈরি করে যা 'postgres'। দুটি অতিরিক্ত ডাটাবেস তৈরি করা হয়েছে:

  • টেমপ্লেট1 : যখনই ক্লাস্টারের মধ্যে কোনো নতুন ডাটাবেস তৈরি করা হয়, “টেমপ্লেট1” ক্লোন করা হয়।
  • টেমপ্লেট0 : এটি 'টেমপ্লেট1' এর মূল বিষয়বস্তুর একটি আদিম অনুলিপি হিসাবে কাজ করে।

'টেমপ্লেট1' এর মধ্যে অবজেক্ট তৈরি করবেন না যদি না আপনি সেগুলি প্রতিটি নতুন তৈরি ডাটাবেসের অংশ হতে চান। যদি 'টেমপ্লেট1' পরিবর্তন করা হয়, তবে 'টেমপ্লেট0' কোনো সাইট-স্থানীয় সংযোজন ছাড়াই একটি নতুন ডাটাবেস তৈরি করতে ক্লোন করা যেতে পারে।

3. একটি নতুন ডাটাবেস তৈরি করা
একটি নতুন ডাটাবেস তৈরি করতে, psql-এ নিম্নলিখিত প্রশ্নটি চালান:

$ ডেটাবেস তৈরি করুন < db_name > ;

এখানে:

  • বর্তমান ভূমিকা স্বয়ংক্রিয়ভাবে নতুন ডাটাবেসের মালিক হিসাবে ধরে নেওয়া হয়।
  • মালিককে আলাদা ভূমিকায় পরিবর্তন করার অধিকার রয়েছে।

নিম্নলিখিত কমান্ড ব্যবহার করে কর্ম সফল হলে ডাটাবেসের তালিকা পরীক্ষা করুন:

$ \তালিকা

একটি সুবিধাপ্রাপ্ত অ্যাকাউন্টের সাথে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করে অন্য কারো জন্য একটি ডাটাবেস তৈরি করতে পারি:

$ ডেটাবেস তৈরি করুন < db_name > মালিক < ভূমিকা > ;

ক্রিয়েটেডবি কমান্ড

পূর্ববর্তী পদ্ধতিতে, একটি ডাটাবেস তৈরি করতে আমাদের একাধিক ধাপ অতিক্রম করতে হয়েছিল:

  • psql ব্যবহার করে PostgreSQL সার্ভারের সাথে সংযোগ করুন।
  • একটি নতুন ডাটাবেস তৈরি করতে প্রশ্নগুলি চালান।

প্রক্রিয়াটিকে স্ট্রীমলাইন করার জন্য, PostgreSQL createb কমান্ডের সাথে আসে। এটি মূলত এই ক্রিয়াগুলির জন্য একটি মোড়ক হিসাবে কাজ করে। আমরা সরাসরি শেল থেকে createb কমান্ড চালাতে পারি।

1. Createdb ব্যবহার করে একটি ডাটাবেস তৈরি করা
ডিফল্ট ডাটাবেস সার্ভার ব্যবহার করে একটি ডাটাবেস তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

$ সৃষ্টb < db_name >

নিম্নলিখিত কমান্ড ব্যবহার করে কর্ম যাচাই করুন:

$ পিএসকিউএল -গ '\ তালিকা'

বিভিন্ন বিকল্পের সাহায্যে, আমরা createb অপারেশনগুলিকে সূক্ষ্ম-টিউন করতে পারি। নিম্নলিখিত উদাহরণ দেখুন:

$ সৃষ্টb -জ < হোস্ট > -পি < বন্দর > -টি < টেমপ্লেট > -এইটা --ব্যবহারকারীর নাম = < ব্যবহারকারীর নাম > --পাসওয়ার্ড --রক্ষণাবেক্ষণ-ডিবি = < রক্ষণাবেক্ষণ_ডিবি_নাম > < db_name >

এখানে:

  • -জ : এই প্যারামিটারটি PostgreSQL সার্ভারের অবস্থান (IP ঠিকানা বা ডোমেন নাম) নির্দিষ্ট করে।
  • -পি : সার্ভারের সাথে সংযোগ করার জন্য পোর্ট।
  • -টি : নতুন ডাটাবেস তৈরি করার সময় ব্যবহার করা টেমপ্লেট। এটি template0, template1, বা অন্য কোন ডাটাবেস হতে পারে।
  • -এইটা : সমতুল্য প্রশ্নের প্রতিধ্বনি।
  • -ব্যবহারকারীর নাম : সার্ভারের সাথে সংযোগ করার জন্য ব্যবহারকারীর নাম।
  • - পাসওয়ার্ড : সার্ভারে সংযোগ করার আগে createb কমান্ডকে একটি পাসওয়ার্ডের জন্য প্রম্পট করতে বাধ্য করে। বেশিরভাগ ক্ষেত্রে, এটির প্রয়োজন হয় না যেহেতু সার্ভারের প্রয়োজন হলে createb স্বয়ংক্রিয়ভাবে একটি পাসওয়ার্ডের জন্য অনুরোধ করে। যাইহোক, এটি এটি খুঁজে বের করার জন্য একটি সংযোগ প্রচেষ্টা ব্যয় করে।
  • -রক্ষণাবেক্ষণ-ডিবি : নতুন ডাটাবেস তৈরি করার সময় যে ডাটাবেসের সাথে সংযোগ করতে হবে। নির্দিষ্ট করা না থাকলে, postgres ডিফল্টরূপে ধরে নেওয়া হয়। পোস্টগ্রেস বিদ্যমান না থাকলে, 'টেমপ্লেট1' ধরে নেওয়া হয়।

এটাকে কাজে লাগানোর সময়। নিম্নলিখিত createb কমান্ড চালান:

$ সৃষ্টb -জ স্থানীয় হোস্ট -পি 5432 -টি টেমপ্লেট0 -এইটা --ব্যবহারকারীর নাম = postgres test_db

আউটপুট পরামর্শ দেয়, এটি নিম্নলিখিত প্রশ্নের সমতুল্য:

$ ডেটাবেস তৈরি করুন test_db টেমপ্লেট টেমপ্লেট0;

অতিরিক্ত ডাটাবেস ব্যবস্থাপনা

এই বিভাগে, আসুন অন্যান্য ডাটাবেস পরিচালনার ক্রিয়াকলাপগুলি দেখে নেওয়া যাক।

ডাটাবেস তালিকা

সার্ভারে সংরক্ষিত ডাটাবেসগুলি তালিকাভুক্ত করার কয়েকটি উপায় রয়েছে। আমরা ইতিমধ্যে পূর্ববর্তী বিভাগগুলিতে একটি পদ্ধতি প্রদর্শন করেছি:

$ \তালিকা

আরেকটি উপায় হল 'pg_database' সিস্টেম ক্যাটালগ পরীক্ষা করা:

$ pg_database থেকে datname নির্বাচন করুন;

একটি ডাটাবেস মুছে ফেলা হচ্ছে

একটি ডাটাবেস মুছে ফেলার জন্য, নিম্নলিখিত ক্যোয়ারী চালান:

$ ডাটাবেস ড্রপ করুন < db_name > ;

Createdb এর মতই, PostgreSQLও dropdb কমান্ডের সাথে আসে যা আমরা শেল থেকে চালাতে পারি। নিচের উদাহরণটি দেখুন:

$ dropdb -জ < হোস্ট > -পি < বন্দর > --ব্যবহারকারীর নাম = < ব্যবহারকারীর নাম > --পাসওয়ার্ড -এইটা < db_name >

এখানে:

  • -জ : PostgreSQL সার্ভারের সাথে সংযোগ করতে হবে।
  • -পি : সংযোগ করার জন্য PostgreSQL সার্ভারের পোর্ট।
  • -এইটা : সমতুল্য প্রশ্নের প্রতিধ্বনি।

নোট করুন যে ব্যবহারকারীর একটি ডাটাবেস মুছে ফেলার জন্য পর্যাপ্ত অধিকার থাকতে হবে।

একটি ডাটাবেস মালিকানা পরিবর্তন

একটি ডাটাবেসের মালিক ডাটাবেস মুছে ফেলা সহ ডাটাবেসের উপর যেকোনো কাজ করতে পারে। ডিফল্টরূপে, যে ব্যবহারকারী ডাটাবেস তৈরি করে তাকে মালিক হিসাবে বরাদ্দ করা হয়। যাইহোক, আমরা অন্য ব্যবহারকারীকে মালিকানা পুনরায় বরাদ্দ করতে পারি।

ডাটাবেসের মালিক পরিবর্তন করতে, psql এ নিম্নলিখিত প্রশ্নটি চালান:

$ ডাটাবেস পরিবর্তন করুন < db_name > মালিকের কাছে < নতুন মালিক > ;

এটি, যাইহোক, ডাটাবেসের মধ্যে বস্তুর মালিকানা পরিবর্তন করবে না (টেবিল সহ)। এই ধরনের ক্ষেত্রে, আমাদের একটি ভিন্ন প্রশ্ন ব্যবহার করতে হবে। লক্ষ্য ডাটাবেসের সাথে সংযোগ করুন এবং নিম্নলিখিত ক্যোয়ারী চালান:

$ পুনরায় মালিকানাধীন < পুরাতন_মালিক > প্রতি < নতুন মালিক > ;

সুবিধাজনক হলেও, এই প্রশ্নটি কয়েকটি সতর্কতার সাথে আসে:

  • পোস্টগ্রেস (ডাটাবেস) এর সাথে সংযোগ করার সময়, এটি একবারে একাধিক ডাটাবেসের মালিকানা পরিবর্তন করতে পারে।
  • মূল মালিক পোস্টগ্রেস হলে এই ক্যোয়ারীটি ব্যবহার করবেন না কারণ এটি সম্পূর্ণ ডিবি উদাহরণকে দূষিত করতে পারে।

বোনাস: শেল থেকে প্রশ্নগুলি চালানো

এখন পর্যন্ত, আমরা PostgreSQL কনসোল থেকে প্রশ্নগুলি চালাই। আপনি যদি আপনার স্ক্রিপ্টগুলিতে কিছু ডাটাবেস কার্যকারিতা অন্তর্ভুক্ত করতে চান? createb এবং dropdb কমান্ড শুধুমাত্র নির্দিষ্ট অপারেশন করতে পারে।

এটি সমাধান করার জন্য, আমরা একটি নালী হিসাবে psql ব্যবহার করতে পারি। স্ট্যান্ডার্ড ইন্টারেক্টিভ শেল ছাড়াও, psql ফ্লাইতে প্রশ্নগুলিও চালাতে পারে।

পদ্ধতি 1:

কমান্ড গঠন নিম্নরূপ:

$ পিএসকিউএল -জ < হোস্ট > -পি < বন্দর > -ভিতরে < ব্যবহারকারীর নাম > -d < তথ্যশালা > -গ < প্রশ্ন >

এখানে:

  • -জ : PostgreSQL সার্ভারের ঠিকানা।
  • -পি : যে পোর্টের সাথে সংযোগ করতে হবে (ডিফল্ট মান হল 5432)।
  • -ভিতরে : ব্যবহারকারী হিসাবে সংযোগ করতে.
  • -d : ডাটাবেসের সাথে সংযোগ করতে হবে।
  • -গ : ক্যোয়ারী চালানোর জন্য।

পদ্ধতি 2:

PostgreSQL আরেকটি আকর্ষণীয় বৈশিষ্ট্যের সাথে আসে: সংযোগ URI। এটি সমস্ত সংযোগ পরামিতিগুলি সুন্দরভাবে এনকোড করার একটি চতুর উপায়। একটি সংযোগ URI এর গঠন নিম্নরূপ:

$ postgresql: //< ব্যবহারকারীর নাম > : < পাসওয়ার্ড >@< হোস্ট > : < বন্দর >/< db_name >

এখানে:

  • postgresql বা পোস্টগ্রেস : PostgreSQL সংযোগ URI-এর জন্য অনন্য প্রোটোকল।

সংযোগ URI ব্যবহার করে একটি ডাটাবেসের সাথে সংযোগ করতে, নিম্নলিখিত psql কমান্ডটি ব্যবহার করুন:

$ পিএসকিউএল -d < সংযোগ_উরি > -গ < প্রশ্ন >

উপসংহার

আমরা PostgreSQL-এ ডাটাবেস তৈরির বিভিন্ন উপায় সম্পর্কে শিখেছি। আমরা দেখিয়েছি কিভাবে ডেটাবেস তৈরি করতে হয় ডেটাবেস কোয়েরি ব্যবহার করে। আমরা createb কমান্ড ব্যবহার করে ডাটাবেস তৈরি প্রদর্শন করেছি। এছাড়াও, আমরা ডাটাবেস মুছে ফেলা এবং মালিক পরিবর্তন করার মতো অন্যান্য গুরুত্বপূর্ণ ডাটাবেস পরিচালনার ক্রিয়াকলাপগুলিকেও গ্লস করেছি৷

PostgreSQL সম্পর্কে আরও জানতে আগ্রহী? চেক আউট PostgreSQL উপ-শ্রেণী y যেটিতে বিভিন্ন বৈশিষ্ট্যের উপর অসংখ্য গাইড রয়েছে; উদাহরণ স্বরূপ: ফাংশন , নিয়মিত অভিব্যক্তি , টেবিল , এবং আরো অনেক কিছু.