PostgreSQL เป็นระบบจัดการฐานข้อมูลเชิงวัตถุสัมพันธ์แบบโอเพนซอร์สและใช้งานได้ฟรีเผยแพร่ภายใต้ใบอนุญาต PostgreSQL ซึ่งคล้ายกับใบอนุญาต BSD หรือ MIT
เช่นเดียวกับโครงการโอเพนซอร์สอื่นๆการพัฒนา PostgreSQL ไม่ได้อยู่ภายใต้การบริหารจัดการของบริษัทหรือบุคคลใดบุคคลหนึ่ง แต่ดำเนินการโดยชุมชนนักพัฒนาที่ทำงานอย่างไม่เห็นแก่ตัว เสียสละเพื่อส่วนรวม โดยไม่คิดค่าใช้จ่าย หรือได้รับการสนับสนุนจากองค์กรเชิงพาณิชย์
ลักษณะสำคัญบางประการคือ:
เข้าร่วมสูง
ด้วยระบบที่เรียกว่า MVCC (Multiversion Concurrent Access) PostgreSQL อนุญาตให้กระบวนการต่างๆ เขียนข้อมูลลงในตารางได้ ในขณะที่กระบวนการอื่นๆ เข้าถึงตารางเดียวกันโดยไม่ต้องล็อก ทำให้ผู้ใช้แต่ละคนได้รับมุมมองที่สอดคล้องกัน
PostgreSQL ให้การสนับสนุนโดยกำเนิดสำหรับ:
- ตัวเลขที่แม่นยำตามอำเภอใจ
- ข้อความยาวไม่ จำกัด
- รูปทรงเรขาคณิต (พร้อมฟังก์ชั่นที่เกี่ยวข้องมากมาย)
- ที่อยู่ IP (IPv4 และ IPv6)
- บล็อกที่อยู่สไตล์ CIDR
- ที่อยู่ MAC
อาร์เรย์
นอกจากนี้ผู้ใช้ยังสามารถสร้างประเภทข้อมูลของตนเองได้ ซึ่งสามารถสร้างดัชนีได้อย่างสมบูรณ์ด้วยโครงสร้างพื้นฐาน GiST ของ PostgreSQL ตัวอย่างเช่น ประเภทข้อมูล GIS ที่สร้างโดยโครงการ PostGIS
เกี่ยวกับ PostgreSQL 11.0 เวอร์ชันใหม่
เมื่อไม่กี่วันที่ผ่านมา มีการเปิดตัว PostgreSQL เวอร์ชันใหม่ คือ PostgreSQL 11 ซึ่งเพิ่มคุณสมบัติใหม่ และที่สำคัญที่สุดคือแก้ไขข้อบกพร่องหลายประการ
สิ่งใหม่ที่สำคัญคือพวกเขามุ่งเน้นไปที่การจัดการฐานข้อมูลที่มีข้อมูลจำนวนมาก
ปรับปรุงพาร์ติชัน
PostgreSQL อนุญาตให้ทำการแบ่งพาร์ติชันมานานแล้วซึ่งหมายถึงการจัดเก็บข้อมูลในตารางแยกกันหลายตารางที่เป็นส่วนหนึ่งของตารางเดียวในเชิงตรรกะ
ผู้ใช้ฐานข้อมูลจะไม่เห็นการกระจายตัวนี้ ซึ่งทำให้สามารถจัดเก็บข้อมูลในระบบไฟล์หลายระบบ โดยแต่ละระบบจะมีลักษณะที่แตกต่างกันไปตามประเภทของข้อมูลตัวอย่างเช่น ข้อมูลล่าสุดจะถูกจัดเก็บไว้ใน SSD และข้อมูลเก่าจะถูกจัดเก็บไว้ในฮาร์ดไดรฟ์
สามารถแบ่งพาร์ติชันเป็นรายการข้อมูลหรือช่วงเวลาได้ ตอนนี้คุณสามารถแบ่งพาร์ติชันแฮชคีย์เพื่อสุ่มข้อมูลได้แล้ว
ทำให้สามารถกระจายการอ่านและเขียนไปยังร้านค้าต่างๆได้
คีย์หลักและคีย์ต่างประเทศตลอดจนดัชนีและทริกเกอร์สามารถประกาศได้ที่ระดับตารางหลักและจะแสดงในตารางสมาชิกทั้งหมดในพาร์ติชัน
ขณะนี้ PostgreSQL สามารถเปลี่ยนแปลงข้อมูลพาร์ติชันโดยอัตโนมัติได้แล้ว หากมีการเปลี่ยนแปลงคีย์การกระจายข้อมูล
ประสิทธิภาพการอ่านของตารางที่แบ่งพาร์ติชันยังได้รับการปรับปรุงด้วยกลยุทธ์การลบพาร์ติชันใหม่
ขณะนี้ ฟังก์ชันUPSERTสามารถใช้งานได้กับตารางแบบแบ่งพาร์ติชันแล้ว

ความพร้อมของธุรกรรมในกระบวนงานที่เก็บไว้
ขั้นตอนที่จัดเก็บมีอยู่ใน PostgreSQL มานานแล้ว แต่ไม่สามารถสร้างธุรกรรมได้ที่นั่น ตอนนี้มันเป็นไปได้
ปรับปรุงประสิทธิภาพ
ปัจจุบันสามารถดำเนินการหลายอย่างพร้อมกันได้ เพื่อใช้ประโยชน์จากคอร์จำนวนมากในโปรเซสเซอร์รุ่นใหม่
ดังนั้น ตารางที่แบ่งพาร์ติชันจึงสามารถอ่านได้แบบขนาน รวมถึงเมื่อ คำสั่ง SELECTมี ส่วนของ UNIONด้วย
การสร้างดัชนีจะดำเนินการแบบขนานเช่นเดียวกับคำสั่งภาษาการกำหนดข้อมูล ( DDL ) อื่นๆ เช่นCREATE TABLEหรือCREATE MATERIALIZED VIEW
สร้างได้ทุกที่ทุกเวลา
มีคอมไพเลอร์แบบใช้เวลาเป็นเกณฑ์ให้ใช้งานได้ซึ่งสามารถเพิ่มประสิทธิภาพให้กับคำสั่งค้นหาที่ซับซ้อนเพื่อเพิ่มความเร็วในการประมวลผล PostgreSQL ใช้คอมไพเลอร์ LLVM สำหรับวัตถุประสงค์นี้
ในการเปิดใช้งาน คุณต้องเพิ่มjit=on ลงในไฟล์การกำหนดค่า หรือกำหนดตัวแปรเซสชันโดยใช้คำสั่ง SET jit=on
Simplification = ความเร็ว
ไม่จำเป็นต้องเขียนข้อมูลลงในตารางใหม่ทั้งหมดอีกต่อไปเมื่อเรียกใช้คำสั่ง ALTER TABLE … ADD COLUMN … DEFAULT … โดยใช้ค่าเริ่มต้นที่ไม่ใช่ค่าว่าง ซึ่งจะช่วยเพิ่มความเร็วในการประมวลผลคำสั่งนี้ได้อย่างมาก โดยเฉพาะกับตารางขนาดใหญ่
ประสบการณ์ของผู้ใช้
ขณะนี้ คำสั่งquitty และ exitได้รับการยอมรับจากอินเทอร์เฟซบรรทัดคำสั่ง (psql) เพื่อใช้ในการดำเนินการให้เสร็จสิ้น นอกเหนือจากคำสั่ง \q แล้ว
หากต้องการดาวน์โหลดเวอร์ชันใหม่นี้ โปรดไปที่ลิงก์ต่อไปนี้