PostgreSQL หรือที่เรียกว่า Postgres เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์เชิงวัตถุแบบโอเพ่นซอร์ส
หลังจากพัฒนามาเป็นเวลา 11 เดือน ในที่สุดก็มีการประกาศเปิดตัว PostgreSQL เวอร์ชัน 16 ใหม่ DBMS เวอร์ชันเสถียรใหม่นี้จะได้รับการอัปเดตเป็นเวลาห้าปี จนถึงเดือนพฤศจิกายน 2028นอกจากนี้ยังเป็นการสิ้นสุดการสนับสนุน PostgreSQL เวอร์ชัน 11.x ซึ่งเป็นเวอร์ชันที่เก่าที่สุดที่ยังคงได้รับการสนับสนุนอยู่ โดยจะยุติการสนับสนุนในวันที่ 9 พฤศจิกายนนี้
สำหรับผู้ที่ยังไม่คุ้นเคยกับ PostgreSQL นั้น Postgres เป็น ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) แบบ โอเพนซอร์สและใช้งานได้ฟรี โดยมีเป้าหมายเพื่อนำเสนอฐานข้อมูลที่มีความยืดหยุ่นและสอดคล้องกับมาตรฐานทางเทคนิค
คุณสมบัติใหม่หลักของ PostgreSQL 16
PostgreSQL 16 เวอร์ชันใหม่นี้มาพร้อมกับเครื่องมือควบคุมการเข้าถึงที่ได้รับการปรับปรุงสำหรับการจำลองแบบเชิงตรรกะตัวอย่างเช่น มีการเพิ่มฟังก์ชันที่กำหนดไว้ล่วงหน้าใหม่ "pg_create_subscription" ซึ่งอนุญาตให้ผู้ใช้ได้รับสิทธิ์ในการสร้างการสมัครรับข้อมูลใหม่
ได้เพิ่มการรองรับการกระจายโหลด (load balancing)ในฝั่งไคลเอ็นต์โดยใช้ไลบรารี libpq มาตรฐานการกระจายโหลดช่วยให้ไคลเอ็นต์สามารถเชื่อมต่อกับโฮสต์ต่างๆ ซึ่งสามารถเลือกได้ตามลำดับที่กำหนดหรือแบบสุ่ม หากโฮสต์ไม่พร้อมใช้งาน ระบบจะพยายามเชื่อมต่อกับเซิร์ฟเวอร์อื่น เมื่อการเชื่อมต่อสำเร็จแล้ว คำขอภายในเซสชันจะถูกส่งไปยังเซิร์ฟเวอร์ที่เลือก
นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพและพัฒนาการทำงานของตัววางแผนการสืบค้นข้อมูลให้ดียิ่งขึ้นโดยมีการประมวลผลแบบขนานสำหรับการดำเนินการเชื่อมตารางแบบ » FULLY » และ » RIGHT JOIN »
ใน PostgreSQL 16 เรายังพบการสนับสนุนที่เพิ่มขึ้นสำหรับโลเคล "Collation"ซึ่งช่วยให้คุณสามารถกำหนดกฎการเรียงลำดับและวิธีการเปรียบเทียบตามความหมายของตัวอักษรได้ โดยค่าเริ่มต้น ระบบจะคอมไพล์ด้วยโลเคล ICU แทนที่จะใช้โลเคล libc
ประสิทธิภาพการจำลองแบบเชิงตรรกะได้รับ การปรับปรุงให้ดีขึ้น เนื่องจาก มีการนำ ความสามารถในการใช้โปรเซสเซอร์ที่ทำงานพร้อมกันมาใช้นอกเหนือจากความสามารถในการใช้ดัชนี B-tree สำหรับตารางที่ไม่มีคีย์หลัก ซึ่งช่วยขจัดความจำเป็นในการสแกนตามลำดับเมื่อค้นหาบันทึก และการซิงโครไนซ์เริ่มต้นของบางตารางในรูปแบบไบนารีก็ได้รับการเร่งความเร็วขึ้นด้วย
อีกหนึ่งการปรับปรุงกลไกการจำลองข้อมูลเชิงตรรกะคือตอนนี้ระบบอนุญาตให้ส่งการเปลี่ยนแปลงที่เกิดขึ้นกับฐานข้อมูลเมื่อเพิ่ม ลบ หรืออัปเดตระเบียนไปยังเซิร์ฟเวอร์อื่นได้ โดยได้ขยายความสามารถในการจำลองการเปลี่ยนแปลงจากเซิร์ฟเวอร์สำรองด้วย
นอกจากนี้ยังเพิ่มการรองรับการจำลองข้อมูลแบบสองทิศทางของตารางทำให้สามารถซิงโครไนซ์การเปลี่ยนแปลงระหว่างสองตารางบนเซิร์ฟเวอร์ที่แตกต่างกันได้ ความสามารถในการจำลองข้อมูลที่เพิ่มเข้ามาใน PostgreSQL 16 ช่วยให้สามารถสร้างการกำหนดค่าแบบหลายเซิร์ฟเวอร์ (โหมดแอคทีฟ-แอคทีฟ) ซึ่งสามารถดำเนินการ INSERT, UPDATE และ DELETE พร้อมกันได้
การเปลี่ยนแปลงที่สำคัญอื่นๆ ได้แก่:
- ปรับการใช้การดำเนินการ "RIGHT JOIN" และ "OUTER JOIN" ให้เหมาะสมเพื่อค้นหาแถวที่ไม่ได้อยู่ในตารางที่รวม ("anti-join")
- ปรับปรุงประสิทธิภาพของแผนการเพิ่มประสิทธิภาพสำหรับแบบสอบถามที่ใช้ฟังก์ชันรวมร่วมกับส่วนคำสั่ง DISTINCT หรือ ORDER BY
- การเรียงลำดับแบบเพิ่มหน่วยจะใช้เพื่อเพิ่มความเร็วในการสืบค้น SELECT DISTINCT
กลยุทธ์การดำเนินงาน VACUUM ได้รับการปรับปรุงเพื่อลดจำนวนสถานการณ์ที่ต้องล็อคทั้งโต๊ะ - บนสถาปัตยกรรม x86 และ ARM มีการใช้คำสั่งเวกเตอร์โปรเซสเซอร์ (SIMD) เพื่อเร่งการประมวลผลสตริง ASCII การดำเนินการกับข้อมูล JSON และดำเนินการค้นหาอาร์เรย์และธุรกรรมย่อย
- ขณะนี้โมดูล "auto_explain" ได้รวมการสนับสนุนสำหรับค่าการบันทึกที่ส่งผ่านไปยังแบบสอบถามที่กำหนดพารามิเตอร์แล้ว
- ปรับปรุงความแม่นยำของอัลกอริทึมการติดตามคำขอที่ใช้ในมุมมอง pg_stat_statements และ pg_stat_activity
- ความสามารถในการตรวจสอบประสิทธิภาพ DBMS ได้รับการขยายแล้ว เพิ่มมุมมองบริการ » pg_stat_io » พร้อมสถิติที่สะท้อนถึงโหลดบนระบบ I/O โดยแบ็กเอนด์ต่างๆ (ผู้ปฏิบัติงานเบื้องหลัง, autovacuum ฯลฯ) และอ็อบเจ็กต์
- มีการเพิ่มฟิลด์ใหม่ลงในมุมมองบริการ » pg_stat_all_tables » พร้อมข้อมูลเกี่ยวกับเวลาของการสแกนตารางหรือดัชนีครั้งล่าสุด
สุดท้ายนี้ หากคุณสนใจเรียนรู้เพิ่มเติมสามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้