افزونه‌های PostgreSQL

افزونه‌ها (Extensions) بسته‌های از پیش آماده‌شده‌ای هستند که قابلیت‌های PostgreSQL را گسترش می‌دهند. در سرویس پایگاه‌داده ستون، افزونه‌ها از طریق دستورات SQL و با ابزار psql مدیریت می‌شوند.

برای اتصال به کلاستر، ابتدا مستند اتصال به پایگاه‌داده را مطالعه کنید.

نصب افزونه

برای نصب یک افزونه پشتیبانی‌شده، پس از اتصال به پایگاه‌داده مورد نظر، دستور زیر را اجرا کنید:

CREATE EXTENSION <extension-name>;

مثال — نصب افزونه pgcrypto:

CREATE EXTENSION pgcrypto;

به‌روزرسانی افزونه

برای به‌روزرسانی یک افزونه به آخرین نسخه موجود:

ALTER EXTENSION <extension-name> UPDATE;

حذف افزونه

برای حذف یک افزونه:

DROP EXTENSION <extension-name>;

مشاهده افزونه‌های نصب‌شده و موجود

برای مشاهده افزونه‌های نصب‌شده در پایگاه‌داده فعلی:

\dx

برای مشاهده فهرست تمامی افزونه‌های موجود:

SELECT * FROM pg_available_extensions;

افزونه‌های پرکاربرد

جدول زیر برخی از افزونه‌های پرکاربرد پشتیبانی‌شده در PostgreSQL را نشان می‌دهد:

افزونهکاربرد
pgcryptoتوابع رمزنگاری
uuid-osspتولید UUID
pg_trgmجستجوی متنی بر اساس trigram
hstoreذخیره جفت‌های (کلید، مقدار)
citextرشته‌های بدون حساسیت به حروف بزرگ و کوچک
postgres_fdwاتصال به پایگاه‌داده‌های PostgreSQL راه‌دور
dblinkاجرای کوئری روی پایگاه‌داده‌های دیگر
vectorجستجوی شباهت برداری (pgvector)
vectorscaleجستجوی شباهت برداری با کارایی بالاتر
pgauditثبت لاگ ممیزی session و object
pg_stat_statementsردیابی و آمار اجرای کوئری‌ها
pg_stat_monitorآمار تفصیلی اجرای کوئری
pg_partmanمدیریت جداول پارتیشن‌بندی‌شده
pg_repackبازآرایی جداول با حداقل قفل
postgisداده‌های مکانی و جغرافیایی
unaccentحذف علائم اعراب در جستجوی متنی
btree_gin / btree_gistIndex ترکیبی GIN و GiST

توجه

برخی افزونه‌ها نیاز به دسترسی‌های ویژه دارند. در صورت بروز خطای دسترسی، با تیم پشتیبانی ستون تماس بگیرید.

نصب افزونه vector (pgvector)

برای فعال‌سازی جستجوی شباهت برداری:

CREATE EXTENSION vector;

سپس می‌توانید ستون برداری ایجاد و Index شباهت بسازید:

CREATE TABLE items (id serial PRIMARY KEY, embedding vector(1536));
CREATE INDEX ON items USING hnsw (embedding vector_cosine_ops);

توجه

افزونه را با نام vector نصب کنید، نه pgvector.

عیب‌یابی افزونه‌ها

خطاراه‌حل
could not open extension control fileنام افزونه را بررسی کنید
permission denied to create extensionبا کاربر sdb_admin متصل شوید یا با پشتیبانی تماس بگیرید
extension "X" is not availableافزونه در نسخه PostgreSQL کلاستر شما پشتیبانی نمی‌شود؛ pg_available_extensions را بررسی کنید

نکات مهم

  • قبل از نصب افزونه در محیط پروداکشن، آن را در محیط تست آزمایش کنید.
  • برای مشاهده افزونه‌های موجود در نسخه PostgreSQL کلاستر خود، از دستور SELECT * FROM pg_available_extensions استفاده کنید.
  • برای اطلاعات بیشتر درباره افزونه‌های PostgreSQL، به مستندات رسمی افزونه‌ها مراجعه کنید.