افزونههای 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_gist | Index ترکیبی 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، به مستندات رسمی افزونهها مراجعه کنید.
