উবুন্টু 18.04 এ পোস্টগ্রিএসকিউএল কীভাবে ইনস্টল এবং ব্যবহার করবেন


পোস্টগ্রাইএসকিউএল (সংক্ষেপে পোস্টগ্রিস) একটি ওপেন সোর্স, শক্তিশালী, উন্নত, উচ্চ কার্যকারিতা এবং স্থিতিশীল সম্পর্কিত-নথিপত্র ডাটাবেস সিস্টেম। এটি নিরাপদ ডেটা স্টোরেজ এবং ব্যবস্থাপনার জন্য বিশাল সংখ্যক বৈশিষ্ট্যের সাথে এসকিউএল ভাষা ব্যবহার করে এবং বাড়ায়।

এটি উচ্চতর ডেটা অখণ্ডতা নিশ্চিত করার সময়, বৃহত, জটিল ভলিউম ডেটা পরিচালনা করার জন্য এবং এন্টারপ্রাইজ-স্তর এবং দোষ-সহনশীল পরিবেশ স্থাপনের জন্য দক্ষ, নির্ভরযোগ্য এবং স্কেলযোগ্য। পোস্টগ্রিসগুলি এআইপিআই সহ সূচিপত্রগুলির মতো বৈশিষ্ট্যগুলির সাথে অত্যন্ত এক্সটেনসিবল যাতে আপনার ডেটা স্টোরেজ চ্যালেঞ্জগুলি সমাধান করার জন্য আপনার নিজের সমাধান বিকাশ করতে পারে।

এই নিবন্ধে, আমরা কীভাবে একটি উবুন্টু 18.04 সার্ভারে পোস্টগ্র্রেএসকিউএল ইনস্টল করবেন (পুরানো উবুন্টু রিলিজগুলিতেও কাজ করে) এবং এটি ব্যবহারের কয়েকটি প্রাথমিক উপায় শিখব।

উবুন্টুতে পোস্টগ্রিএসকিউএল কীভাবে ইনস্টল করবেন

প্রথমে একটি ফাইল /etc/apt/sources.list.d/pgdg.list তৈরি করুন যা সংগ্রহস্থল কনফিগারেশন সংরক্ষণ করে, তারপরে আপনার সিস্টেমে সংগ্রহস্থল কীটি আমদানি করুন, আপনার সিস্টেম প্যাকেজ তালিকা আপডেট করুন এবং নিম্নলিখিত কমান্ডগুলি ব্যবহার করে পোস্টগ্রিস প্যাকেজ ইনস্টল করুন।

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ sudo apt install wget ca-certificates
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt update
$ sudo apt install postgresql-10 pgadmin4 

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

$ sudo systemctl status postgresql.service

PostgreSQL রোলস এবং ডাটাবেসগুলি কীভাবে ব্যবহার করবেন

পোস্টগ্রাগুলিতে ক্লায়েন্ট প্রমাণীকরণ /etc/postgresql/10/main/pg_hba.conf কনফিগারেশন ফাইল দ্বারা নিয়ন্ত্রিত হয়। ডিফল্ট প্রমাণীকরণ পদ্ধতিটি ডাটাবেস প্রশাসকের জন্য "পিয়ার", অর্থ এটি অপারেটিং সিস্টেম থেকে ক্লায়েন্টের অপারেটিং সিস্টেমের ব্যবহারকারীর নাম পেয়ে যায় এবং স্থানীয় সংযোগগুলির জন্য, এটি যদি অনুরোধ করা ডাটাবেসের ব্যবহারকারীর নামের সাথে অ্যাক্সেসের অনুমতি দেয় তবে এটি পরীক্ষা করে (নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে) )।

ইনস্টলেশন প্রক্রিয়া চলাকালীন, পোস্টগ্রিস নামক একটি সিস্টেম ব্যবহারকারী অ্যাকাউন্ট কোনও পাসওয়ার্ড ছাড়াই তৈরি করা হয়েছিল, এটি ডিফল্ট ডাটাবেস প্রশাসকের ব্যবহারকারীর নাম।

$ sudo vim /etc/postgresql/10/main/pg_hba.conf

তদ্ব্যতীত, পোস্টগ্রিজের অধীনে ডাটাবেস অ্যাক্সেস অনুমতি পরিচালনা ভূমিকাগুলির মাধ্যমে সঞ্চালিত হয়। ভূমিকা কীভাবে সেটআপ করা হয় তার উপর নির্ভর করে কোনও ডাটাবেস ব্যবহারকারী বা ডাটাবেস ব্যবহারকারীদের একটি গ্রুপ হিসাবে বিবেচিত হতে পারে।

ডিফল্ট ভূমিকাটি পোস্টগ্রিসও। গুরুত্বপূর্ণভাবে, ডাটাবেসের ভূমিকাগুলি অপারেটিং সিস্টেম ব্যবহারকারীদের সাথে ধারণাগতভাবে সম্পূর্ণরূপে সংযুক্ত নয়, তবে কার্যত তারা পৃথক নাও হতে পারে (উদাহরণস্বরূপ যখন এটি ক্লায়েন্টের অনুমোদনের ক্ষেত্রে আসে)।

গুরুত্বপূর্ণভাবে, ভূমিকাগুলি ডাটাবেস অবজেক্টগুলির মালিক হতে পারে এবং কারা অবজেক্টগুলিতে অ্যাক্সেস রয়েছে তা নিয়ন্ত্রণ করার জন্য সেই সমস্ত বিষয়গুলিতে অন্যান্য ভূমিকাগুলিতে বিশেষত্ব প্রদান করতে পারে। তদ্ব্যতীত, অন্য একটি ভূমিকার ক্ষেত্রে কোনও ভূমিকাতে সদস্যপদ দেওয়া সম্ভব।

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

Then restart the postgresql service to apply the recent changes.
$ sudo systemctl restart postgresql

উবুন্টুতে পোস্টগ্রিএসকিউএল কীভাবে ব্যবহার করবেন

একবার সবকিছু সেটআপ হয়ে গেলে আপনি নিম্নলিখিত কমান্ডের সাথে পোস্টগ্রিস সিস্টেম অ্যাকাউন্টে অ্যাক্সেস করতে পারবেন, যেখানে -i পতাকাটি sudo কে লগইন শেল হিসাবে টার্গেট ব্যবহারকারীর পাসওয়ার্ড ডাটাবেস এন্ট্রি দ্বারা নির্দিষ্ট শেলটি চালনা করতে বলে।

$ sudo -i -u postgres 
$ psql		#to launch the postgres shell program  
postgres=#

পোস্টগ্রিজ শেলটি সরাসরি অ্যাক্সেস করতে প্রথমে পোস্টগ্রিজ ব্যবহারকারী অ্যাকাউন্টে অ্যাক্সেস না করে নিম্নলিখিত কমান্ডটি চালান run

$ sudo -i -u postgres psql

আপনি নিম্নলিখিত কমান্ডটি লিখে পোস্টগ্রাসগুলি প্রস্থান/প্রস্থান করতে পারবেন।

postgres=# \q

নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি নতুন ব্যবহারকারী ভূমিকা তৈরি করুন।

postgres=# CREATE ROLE tecmint;

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

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

পাসওয়ার্ড সহ একটি ভূমিকাও তৈরি করা যায়, আপনি যদি ক্লায়েন্ট প্রমাণীকরণ পদ্ধতিটি কনফিগার করেন ব্যবহারকারীদের ডাটাবেসে সংযোগ করার সময় একটি এনক্রিপ্ট করা পাসওয়ার্ড সরবরাহ করতে বলে।

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

বিদ্যমান ব্যবহারকারীর ভূমিকা তালিকাবদ্ধ করতে, এই আদেশগুলি ব্যবহার করুন।

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

যে কোনও বিদ্যমান ব্যবহারকারীর ভূমিকা ড্রপ করতে প্রদর্শিত হিসাবে DROP ROLE কমান্ডটি ব্যবহার করুন।

postgres=# DROP ROLE tecmint;

একবার আপনি কোনও নির্দিষ্ট নাম (উদাহরণস্বরূপ টেকমিন্ট ব্যবহারকারী) দিয়ে একটি ভূমিকা তৈরি করার পরে, আপনি একটি ডাটাবেস তৈরি করতে পারেন (ভূমিকা হিসাবে একই নাম সহ) যা সেই ভূমিকা দ্বারা প্রদর্শিত হবে হিসাবে প্রদর্শিত হবে।

postgres=# CREATE DATABASE tecmint;

এখন ডাটাবেস টেকমিন্ট পরিচালনা করতে, পোস্টগ্রিস শেলটিকে টেকমিট ভূমিকা হিসাবে অ্যাক্সেস করুন, নীচে আপনার পাসওয়ার্ড সরবরাহ করুন।

$ sudo -i -u tecmint psql

সারণী তৈরি করা এত সহজ, আমরা লেখক হিসাবে একটি টেস্ট টেবিল তৈরি করব, যা TecMint.com লেখকদের সম্পর্কে তথ্য সংরক্ষণ করে, যেমন দেখানো হয়েছে।

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

একটি টেবিল তৈরি করার পরে, এটি নীচে কিছু ডেটা দিয়ে পপুলেশন করার চেষ্টা করুন।

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

একটি সারণীতে সঞ্চিত ডেটা দেখতে, আপনি একটি নির্বাচন কমান্ড চালাতে পারেন।

tecmint=> SELECT * FROM authors;

আপনি নিম্নলিখিত কমান্ডটি সহ বর্তমান ডাটাবেসে সমস্ত সারণী তালিকাবদ্ধ করতে পারেন।

tecmint=>\dt

বর্তমান ডাটাবেসে কোনও সারণী মুছতে, DROP কমান্ডটি ব্যবহার করুন।

tecmint=> DROP TABLE authors;

সমস্ত ডাটাবেস তালিকাভুক্ত করতে, নিম্নলিখিত যে কোনও আদেশ ব্যবহার করুন।

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

আপনি যদি কোনও ডাটাবেস মুছতে চান, উদাহরণস্বরূপ DROP কমান্ডটি ব্যবহার করুন।

tecmint=>DROP DATABASE tecmint;

আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে খুব সহজেই একটি ডাটাবেস থেকে অন্য ডাটাবেসে যেতে পারেন।

tecmint=>\connect database_name

আরও তথ্যের জন্য PostgreSQL 10.4 ডকুমেন্টেশন দেখুন।

আপাতত এই পর্যন্ত! এই নিবন্ধে, আমরা উবুন্টু 18.04 এ পোস্টগ্রিএসকিউএল ডেটাবেজ ম্যানেজমেন্ট সিস্টেমটি কীভাবে ইনস্টল ও ব্যবহার করতে পারি তা ব্যাখ্যা করেছি। আপনি মন্তব্যগুলিতে আমাদের আপনার প্রশ্ন বা চিন্তা পাঠাতে পারেন।