প্রতি বছরের মতো এবারও সেপ্টেম্বর ও অক্টোবরের মধ্যে PostgreSQL 17-এর নতুন সংস্করণ প্রকাশের ঘোষণা করা হয়েছে । পূর্ববর্তী সমস্ত সংস্করণের মতোই, এর প্রধান অগ্রাধিকার হলো পারফরম্যান্স উন্নত করা এবং রিসোর্স অপ্টিমাইজ করা, বিশেষ করে VACUUM, I/O এবং কোয়েরির মতো অপারেশনগুলোর ক্ষেত্রে। অন্যদিকে, এই সংস্করণের সবচেয়ে গুরুত্বপূর্ণ নতুন ফিচারটি হলো ইনক্রিমেন্টাল ব্যাকআপ।
ব্যবসায়িক ব্যবহারকারীদের জন্য, আপডেটটি অনেক উন্নতি নিয়ে আসে যা ডাটাবেস পরিচালনা এবং ব্যবহারকে সহজ করে। যদিও PostgreSQL ঐতিহাসিকভাবে একটি রিলেশনাল ডাটাবেস, এই সংস্করণটি JSON নথিগুলির সাথে কাজ করার জন্য উন্নত কার্যকারিতার সাথে এর একীকরণকে প্রসারিত করে, একটি বৈশিষ্ট্য যা সাধারণত MongoDB Atlas এর সাথে যুক্ত।
PostgreSQL 17 এ নতুন কি আছে
PostgreSQL 17-এর এই নতুন সংস্করণে VACUUM অপারেশনে একটি নতুন ডেটা স্ট্রাকচার চালু করা হয়েছে, যা মেমরি ব্যবহার ২০ গুণ পর্যন্ত কমিয়ে দেয়, ফলে এই অপারেশনগুলো আরও দ্রুত এবং শেয়ার্ড রিসোর্সের দিক থেকে আরও কার্যকর হয়।
পারফরম্যান্স উন্নয়নের লক্ষ্যে , রাইট-অ্যাওয়ে রেজিস্টার (WAL) ম্যানেজমেন্টকে অপ্টিমাইজ করা হয়েছে, যার ফলে একই সাথে একাধিক কোয়েরি সম্পন্নকারী সিস্টেমে রাইট পারফরম্যান্স দ্বিগুণ পর্যন্ত বৃদ্ধি পেয়েছে। ANALYZE অপারেশনের পরে সিকোয়েনশিয়াল সার্চ এবং স্ট্যাটিস্টিকস আপডেট উন্নত করার জন্য একটি স্ট্রিমিং I/O ইন্টারফেস প্রস্তাব করা হয়েছে ।
এছাড়াও, বি-ট্রি ইনডেক্স ব্যবহার করার সময় "IN" ক্লজযুক্ত কোয়েরিগুলোতে উন্নতি সাধন করা হয়েছে , সেইসাথে ব্রিন (BRIN) ইনডেক্সের সমান্তরাল নির্মাণ, "NOT NULL" চেকের অপ্টিমাইজেশন এবং কমন টেবিল এক্সপ্রেশন (CTE)-এর প্রক্রিয়াকরণকে ত্বরান্বিত করা হয়েছে। নিবিড় গণনার জন্য, `bit_count` ফাংশনের মতো অপারেশনগুলোকে ত্বরান্বিত করতে AVX-512-এর মতো SIMD নির্দেশাবলী অন্তর্ভুক্ত করা হয়েছে।
আরেকটি নতুনত্ব যে স্ট্যান্ড আউট হয় JSON এর জন্য নতুন বৈশিষ্ট্য, যেহেতু ব্যবহারকারীরা এখন স্ট্যান্ডার্ড SQL কমান্ড ব্যবহার করে JSON ডেটা টাইপ জিজ্ঞাসা করতে পারে। নতুন টেবিল কার্যকারিতার জন্য এটি সম্ভব হয়েছে json, যা JSON ডেটাকে একটি সারণী কাঠামোতে রূপান্তরিত করে। সেখান থেকে, ব্যবহারকারীরা ক্লজ ব্যবহার করে প্রশ্ন করতে পারেন FROM এসকিউএল-এ, একটি রিলেশনাল ফরম্যাটে ডেটা ফেরত দেওয়ার অনুমতি দেয়। JSON ডেটাকে স্ট্যান্ডার্ড PostgreSQL সারণিতে রূপান্তর করতে `JSON_TABLE` ফাংশন যোগ করা হয়েছে।
PostgreSQL 17-এর নতুন ইনক্রিমেন্টাল ব্যাকআপ কার্যকারিতাও বিশেষভাবে উল্লেখযোগ্য , যা আপনাকে সর্বশেষ ফুল বা ইনক্রিমেন্টাল ব্যাকআপের পর হওয়া শুধুমাত্র পরিবর্তনগুলোর ব্যাকআপ নিতে দেয় , ফলে ব্যান্ডউইথের ব্যবহার অপ্টিমাইজ হয় এবং স্টোরেজের প্রয়োজনীয়তা কমে। যদিও PostgreSQL-এ আগে থেকেই WAL আর্কাভিং-এর মতো সমাধান ছিল, যা ডাটাবেসের প্রয়োজনীয় অংশগুলো রক্ষণাবেক্ষণের জন্য রাইট-অহেড লগ (WAL)-এর অনুকরণ করত, সংস্করণ 17 প্রথমবারের মতো ইনক্রিমেন্টাল ব্যাকআপ নেওয়ার জন্য একটি নিজস্ব পদ্ধতি চালু করেছে। এই সিস্টেমটি পারফরম্যান্সের উপর কম প্রভাব ফেলে অপারেশনাল ব্যাঘাত কমানোর পাশাপাশি রিকভারির সময়ও উল্লেখযোগ্যভাবে কমিয়ে আনে—যা একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়, কারণ ব্যাকআপ পুনরুদ্ধার করা ব্যবহারকারীদের জন্য প্রায়শই একটি ধীর এবং হতাশাজনক প্রক্রিয়া।
লোকেল প্রোপার্টিগুলো প্রসেস করার জন্য একটি প্ল্যাটফর্ম-নিরপেক্ষ ইঞ্জিন প্রয়োগ করা হয়েছে , যা কোয়েরির ফলাফল সামঞ্জস্যপূর্ণভাবে সাজাতে সক্ষম করে। এই ইঞ্জিনটি ভ্যালু সাজানোর সময় বিশেষ অক্ষরের উপস্থিতি এবং কেস সেনসিটিভিটির মতো বিষয়গুলো বিবেচনা করে। লজিক্যাল রেপ্লিকেশন মেকানিজম এখন ডাটাবেস আপগ্রেড প্রক্রিয়াকে সহজ করে, এবং নতুন সংস্করণে মাইগ্রেট করার সময় লজিক্যাল রেপ্লিকেশন স্লট ডিলিট করা বা ডেটা রিসিনক্রোনাইজ করার প্রয়োজনীয়তা দূর করে।
অন্যান্য উল্লেখযোগ্য পরিবর্তনগুলির মধ্যে রয়েছে :
- `COPY` কমান্ডের সাহায্যে দীর্ঘ স্ট্রিং রপ্তানি দুই গুণ পর্যন্ত বৃদ্ধি করা হয়েছে।
- উৎস এবং গন্তব্য এনকোডিং মিলে গেলে অপ্টিমাইজড কপি করা।
- ডেটা সন্নিবেশে ত্রুটি থাকা সত্ত্বেও আমদানি চালিয়ে যাওয়ার জন্য `ON_ERROR` বিকল্পটি যোগ করা হয়েছে৷
- পার্টিশন করা টেবিলে অনন্য শনাক্তকারীর সাথে কলাম ব্যবহার করার ক্ষমতা যোগ করা হয়েছে।
- ত্রুটি-সহনশীল কনফিগারেশনে একটি ব্যাকআপ সার্ভারে স্যুইচ করতে একটি ব্যর্থতা বৈশিষ্ট্য প্রয়োগ করা হয়েছে।
- একটি ফিজিক্যাল রেপ্লিকাকে লজিক্যাল রেপ্লিকাতে রূপান্তর করতে একটি নতুন pg_createsubscriber ইউটিলিটি যোগ করা হয়েছে।
- ALPN TLS এক্সটেনশন ব্যবহার করে সরাসরি নিরাপদ TLS সংযোগের জন্য আলোচনার জন্য "sslnegotiation" বিকল্প চালু করা হয়েছে।
- পূর্বনির্ধারিত ভূমিকা pg_maintain যোগ করা হয়েছে, যা ব্যবহারকারীদের DBMS রক্ষণাবেক্ষণ সম্পর্কিত ক্রিয়াকলাপ সম্পাদন করার অধিকার দেয়
অবশেষে, আপনি যদি আরও জানতে আগ্রহী হন, তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেয়ে যাবেন ।