DEV Community

Cover image for PostgreSQL Extension: ขยายศักยภาพฐานข้อมูลของคุณ
iconnext for ใดๆในโลกล้วน Postgres

Posted on • Edited on

PostgreSQL Extension: ขยายศักยภาพฐานข้อมูลของคุณ

PostgreSQL Extension เป็นคุณลักษณะที่ดีอย่างหนึ่งของฐานข้อมูล Postgres
ที่ช่วยเสริมที่ช่วยเพิ่มประสิทธิภาพการทำงานของระบบฐานข้อมูล โดยทำหน้าที่ขยายฟังก์ชันการทำงานของ PostgreSQL ให้ครอบคลุมไปกว่าที่ติดตั้งมาในระบบพื้นฐาน โมดูลเสริมเหล่านี้สามารถเพิ่มฟีเจอร์ใหม่ ๆ ดังต่อไปนี้

ชนิดข้อมูลเพิ่มเติม: โมดูลเสริมสามารถนำเสนอชนิดข้อมูลใหม่ ๆ ที่ออกแบบมาโดยเฉพาะสำหรับข้อมูลประเภทเฉพาะ เช่น ข้อมูลทางภูมิศาสตร์ หรือ เอกสาร JSON
ฟังก์ชันและตัวดำเนินการ: โมดูลเสริมสามารถจัดเตรียมฟังก์ชันและตัวดำเนินการใหม่ ๆ ที่สามารถใช้ในคิวรี SQL เพื่อดำเนินงานเฉพาะทาง
ฟีเจอร์ใหม่: โมดูลเสริมสามารถนำเสนอฟีเจอร์ใหม่ ๆ เพิ่มเติมให้กับ PostgreSQL โดยสิ้นเชิง เช่น การรองรับการค้นหาแบบเต็มรูปแบบ หรือ การเข้ารหัส

ข้อดีของการใช้โมดูลเสริม PostgreSQL

เพิ่มฟังก์ชันการทำงาน: โมดูลเสริมช่วยให้คุณสามารถทำงานกับ PostgreSQL ได้ในสิ่งที่ไม่สามารถทำได้ในระบบพื้นฐาน
ความยืดหยุ่น: โมดูลเสริมช่วยให้คุณปรับแต่ง PostgreSQL ให้ตรงกับความต้องการเฉพาะของคุณ
การสนับสนุนจากชุมชน: มีชุมชนนักพัฒนาที่สร้างและดูแลรักษาโมดูลเสริม PostgreSQL อยู่มากมาย ดังนั้นคุณจึงมักจะได้รับความช่วยเหลือเมื่อต้องการ

สิ่งที่ควรคำนึงถึงเมื่อใช้โมดูลเสริม PostgreSQL:

โมดูลเสริมไม่ใช่ทุกโมดูลที่สร้างเท่ากัน: โมดูลเสริมบางโมดูลได้รับการดูแลรักษาอย่างดีและได้รับความนิยมอย่างกว้างขวาง ในขณะที่โมดูลเสริมอื่น ๆ อาจมีความน่าเชื่อถือที่น้อยกว่า หรือมีเอกสารประกอบที่จำกัด
ความปลอดภัย: สิ่งสำคัญคือต้องระมัดระวังเกี่ยวกับการติดตั้งโมดูลเสริมจากแหล่งที่ไม่น่าเชื่อถือ ตรวจสอบให้แน่ใจว่าคุณเข้าใจว่าโมดูลเสริมทำอะไรก่อนติดตั้ง
ความเข้ากันได้: โมดูลเสริมอาจไม่เข้ากันได้กับ PostgreSQL ทุกเวอร์ชัน

การจัดการ Extension

ในการตรวจสอบ extension ที่อยู่ใน PostgreSQL

สามารถตรวจสอบผ่านคำสั่ง SQL

SELECT * FROM pg_available_extensions;
Enter fullscreen mode Exit fullscreen mode

จะเป็น view ในการแสดงรายการ extension ที่พร้อมใช้งาน ใน server ของเราโดยจะแสดงข้อมูล

Image description

  • name: ชื่อ extension
  • default_version:
  • install_version: เวอร์ชั่นที่ทำการติดตั้งอยู่ในฐานข้อมูล
  • comment: คำอธิบาย extension

การตรวจสอบ Extension ที่ติดตั้งบนฐานข้อมูล

สามารถทำผ่านคำสั่ง SQL

SELECT * FROM pg_extension;
Enter fullscreen mode Exit fullscreen mode

จะแสดงรายการที่ extension ติดตั้งในฐานข้อมูล

Image description
โดยแสดงข้อมูล

  • oid: object id ของ extension
  • extname:ชื่อ extension
  • extowner: id owner ของ object
  • extnamespace
  • extrelocatable
  • extversion: version ของ extension
  • extconfig:
  • extcondition:

ในการติดตั้งเข้าไปในฐานข้อมูลผ่านคำสั่ง

CREATE EXTENSION {extension_name};
Enter fullscreen mode Exit fullscreen mode

เมื่อ extension_name เป็นชื่อที่ต้องการติดตั้ง

ในการถอดถอน extension ออกจากฐานจ้อมูลผ่านคำสั่ง

คำเตือน
1.คุณต้องมีสิทธิ์ CREATE EXTENSION ในฐานข้อมูลที่คุณต้องการติดตั้ง extension

  1. ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลด extension ที่ถูกต้องสำหรับเวอร์ชัน PostgreSQL ของคุณ
  2. บาง extension อาจมีข้อกำหนดเบื้องต้นเพิ่มเติม โปรดอ่านเอกสารประกอบของ extension สำหรับข้อมูลเพิ่มเติม
DROP EXTENSION {extension_name};
Enter fullscreen mode Exit fullscreen mode

เมื่อ extension_name เป็นชื่อที่ต้องการติดตั้ง

คำเตือน

  1. คุณต้องมีสิทธิ์ DROP EXTENSION ในฐานข้อมูลที่คุณต้องการถอดถอน Extension
  2. ตรวจสอบให้แน่ใจว่าคุณได้ลบวัตถุใดๆ ที่สร้างโดย Extension ออกก่อน มิฉะนั้น คุณอาจได้รับข้อความแสดงข้อผิดพลาด
  3. บาง Extension อาจมีขั้นตอนการถอนการติดตั้งเพิ่มเติม โปรดอ่านเอกสารประกอบของ Extension สำหรับข้อมูลเพิ่มเติม

กรณีที่ต้องการติดตั้ง Extension ที่ไม่ปรากฏในรายการที่อยู่ Postgres

ในบาง extension ไม่ปรากฏผ่าน pg_available_extensions ให้ไม่สามารถติดตั้ง extension บนฐานข้อมูลได้ถ้าต้องการติดตั้ง

  1. ดาวน์โหลดซอร์สโค้ด Extension: คุณสามารถดาวน์โหลดซอร์สโค้ด Extension จากเว็บไซต์ของผู้พัฒนา
  2. คอมไพล์ Extension: ขั้นตอนการคอมไพล์ Extension แตกต่างกันไปขึ้นอยู่กับ Extensionโปรดดูเอกสารประกอบของ Extension สำหรับข้อมูลเพิ่มเติม
  3. ติดตั้ง Extension: หลังจากคอมไพล์ Extension แล้ว คุณสามารถติดตั้ง Extension ได้โดยใช้คำสั่ง SQL CREATE EXTENSION

ข้อควรระวัง:

  • ติดตั้ง Extension จากแหล่งที่เชื่อถือได้เท่านั้น
  • ตรวจสอบให้แน่ใจว่า Extension เข้ากันได้กับเวอร์ชัน PostgreSQL ของคุณ
  • บาง Extension อาจมีข้อกำหนดเบื้องต้นเพิ่มเติม โปรดอ่านเอกสารประกอบของ Extension สำหรับข้อมูลเพิ่มเติม
  • ก่อนติดตั้ง Extension ใดๆ โปรดสำรองฐานข้อมูลของคุณไว้ก่อน
  • ตรวจสอบให้แน่ใจว่าคุณเข้าใจผลกระทบของ Extension ที่คุณกำลังติดตั้ง
  • บาง Extension อาจส่งผลต่อประสิทธิภาพการทำงานของ PostgreSQL ของคุณ

Developer-first embedded dashboards

Developer-first embedded dashboards

Ship pixel-perfect dashboards that feel native to your app with Embeddable. It's fast, flexible, and built for devs.

Get early access

Top comments (0)

Launch embedded dashboards in 10% of the time - with 100% of your standards.

Launch embedded dashboards in 10% of the time - with 100% of your standards.

Embed in minutes, load in milliseconds, extend infinitely. Import any chart, connect to any database, embed anywhere. Scale elegantly, monitor effortlessly, CI/CD & version control.

Get early access

👋 Kindness is contagious

Explore this practical breakdown on DEV’s open platform, where developers from every background come together to push boundaries. No matter your experience, your viewpoint enriches the conversation.

Dropping a simple “thank you” or question in the comments goes a long way in supporting authors—your feedback helps ideas evolve.

At DEV, shared discovery drives progress and builds lasting bonds. If this post resonated, a quick nod of appreciation can make all the difference.

Okay