PostgreSQL এ কিভাবে একটি সিকোয়েন্স রিসেট করবেন

Postgresql E Kibhabe Ekati Sikoyensa Riseta Karabena



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

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

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

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







এই উদাহরণের জন্য, আমরা নিম্নলিখিত 'user_details' টেবিলের সাথে কাজ করব। আমাদের ফোকাস হল 'user_id' কলাম যা 100 থেকে শুরু হওয়া একটি স্বয়ংক্রিয়-বৃদ্ধি ক্রম।





আপনার ডাটাবেসের বিভিন্ন ক্রম তালিকাভুক্ত করতে, নিম্নলিখিত কমান্ডটি চালান:





\ডি এস

আমাদের ক্ষেত্রে, আমরা লক্ষ্য করি 'user_id' ক্রম।



ক্রম সম্পর্কে আরও বিশদ পেতে, নিম্নলিখিত হিসাবে প্রদর্শিত 'নির্বাচন' ক্যোয়ারী চালান:

ক্রম_নাম থেকে * নির্বাচন করুন;

আমরা দেখতে পাচ্ছি যে বিদ্যমান অনুক্রমের শেষ মানটি হল 104। আমরা এই মানটিকে পুনরায় সেট করি এবং একটি নতুন মান নির্ধারণ করি যা নতুন এন্ট্রিতে থাকবে।

PostgreSQL ক্রম পুনরায় সেট করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

ক্রম পরিবর্তন করুন ক্রম_নাম মান দিয়ে পুনরায় শুরু করুন;

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

যদি আমরা SELECT স্টেটমেন্ট ব্যবহার করে আমাদের সিকোয়েন্সের বিশদ বিবরণ পেতে আগের কমান্ডটি পুনরায় চালু করি, তাহলে আমরা দেখতে পাব যে এই ক্ষেত্রের জন্য নতুন 'last_value' হল সেই মান যা আমরা ALTER কমান্ডের সাথে নির্দিষ্ট করেছি।

কি ঘটবে তা দেখতে আমাদের টেবিলে একটি নতুন এন্ট্রি সন্নিবেশ করা যাক। নিম্নলিখিত চিত্রটি INSERT ক্যোয়ারী এবং SELECT স্টেটমেন্ট চালানোর পরে আমরা যে ফলাফলগুলি পাই তা দেখায়। লক্ষ্য করুন কিভাবে নতুন এন্ট্রিটির 'user_id' 20 এ সেট করা হয়েছে। আমরা যে সমস্ত নতুন এন্ট্রি করব সেগুলোর 'user_id' শেষ মানের উপর ভিত্তি করে তৈরি হবে যা 20।

যদি আমরা আরেকটি ইনপুট করি, তাহলে এর 'user_id' হবে 21 এবং ক্রমটি একই যুক্তি ব্যবহার করে এগিয়ে যাবে। এভাবেই আপনি PostgreSQL এ একটি সিকোয়েন্স রিসেট করেন। মনে রাখবেন যে 'রিসেট' কমান্ডটি বিদ্যমান রেকর্ডগুলিকে প্রভাবিত করে না। এটি শুধুমাত্র ক্রমটি পুনরায় সেট করার পরে আপনি যে এন্ট্রিগুলি তৈরি করেন তার জন্য নতুন প্রারম্ভিক মান নির্ধারণ করে।

উপসংহার

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