الوحدات الإضافية الرسمية لـ PostgreSQL
PostgreSQL هو نظام إدارة قاعدة بيانات علائقية مفتوح المصدر وقوي، يحتوي على مجموعة غنية من الوحدات الإضافية لتعزيز ميزاته. تحتوي ServBay على جميع الوحدات الإضافية الرسمية المضمنة في PostgreSQL، مما يتيح للمستخدمين الاستفادة بسهولة من هذه الوحدات لتلبية مختلف الاحتياجات التطبيقية المعقدة. فيما يلي بعض الوحدات الإضافية الرسمية الشائعة لـ PostgreSQL ومقدمة موجزة عنها.
الوحدات الإضافية الشائعة
1. pg_stat_statements
الميزة: جمع وتسجيل إحصائيات تنفيذ استعلامات SQL.
الاستخدام: مساعدة مديري قواعد البيانات في تحليل وتحسين أداء الاستعلامات.
أمر التثبيت:
CREATE EXTENSION pg_stat_statements;
2. pg_trgm
الميزة: توفير وظيفة البحث عن تشابه النصوص بناءً على الحروف الثلاثية (trigram).
الاستخدام: يستخدم في سيناريوهات المطابقة غير الدقيقة والبحث النصي الكامل.
أمر التثبيت:
CREATE EXTENSION pg_trgm;
3. hstore
الميزة: توفير وظيفة تخزين أزواج المفاتيح والقيم.
الاستخدام: مناسب لتخزين الخصائص الديناميكية مثل بيانات التكوين والبيانات الوصفية.
أمر التثبيت:
CREATE EXTENSION hstore;
4. citext
الميزة: توفير نوع نص غير حساس لحالة الأحرف.
الاستخدام: يستخدم في السيناريوهات التي تتطلب مقارنة غير حساسة لحالة الأحرف مثل أسماء المستخدمين وعناوين البريد الإلكتروني.
أمر التثبيت:
CREATE EXTENSION citext;
5. uuid-ossp
الميزة: توليد UUID (المعرفات الفريدة).
الاستخدام: يستخدم في السيناريوهات التي تتطلب معرفات فريدة مثل المفاتيح الأساسية ومعرفات الجلسات.
أمر التثبيت:
CREATE EXTENSION "uuid-ossp";
6. intarray
الميزة: تقديم وظائف إضافية على مصفوفات الأعداد الصحيحة.
الاستخدام: مناسب للسيناريوهات التي تتطلب عمليات معقدة على مصفوفات الأعداد الصحيحة.
أمر التثبيت:
CREATE EXTENSION intarray;
7. btree_gin
الميزة: توفير دعم عمليات شجرة B بناءً على فهرس GIN.
الاستخدام: يستخدم في السيناريوهات التي تتطلب فهرسة فعالة واستعلامات.
أمر التثبيت:
CREATE EXTENSION btree_gin;
8. btree_gist
الميزة: توفير دعم عمليات شجرة B بناءً على فهرس GiST.
الاستخدام: يستخدم في السيناريوهات التي تتطلب فهرسة متعددة الأبعاد واستعلامات معقدة.
أمر التثبيت:
CREATE EXTENSION btree_gist;
9. cube
الميزة: توفير دعم البيانات متعددة الأبعاد.
الاستخدام: مناسب للسيناريوهات التي تتطلب معالجة البيانات متعددة الأبعاد مثل مستودعات البيانات وتحليل OLAP.
أمر التثبيت:
CREATE EXTENSION cube;
10. fuzzystrmatch
الميزة: توفير وظيفة البحث عن تشابه النصوص.
الاستخدام: يستخدم في البحث غير الدقيق وتنقية البيانات.
أمر التثبيت:
CREATE EXTENSION fuzzystrmatch;
11. plpgsql
الميزة: دعم لغة الإجراءات PL/pgSQL.
الاستخدام: يستخدم لكتابة الإجراءات المخزنة والمشغلات.
أمر التثبيت:
CREATE EXTENSION plpgsql;
12. tablefunc
الميزة: توفير دعم الدوال الجدولية.
الاستخدام: يستخدم في استعلامات الجداول المتقاطعة وتحليل البيانات الجدولية.
أمر التثبيت:
CREATE EXTENSION tablefunc;
13. dblink
الميزة: توفير وظائف الاتصال عبر قواعد البيانات.
الاستخدام: يستخدم لاستعلام بيانات من قاعدة بيانات أخرى.
أمر التثبيت:
CREATE EXTENSION dblink;
14. postgres_fdw
الميزة: توفير الوصول إلى قواعد بيانات PostgreSQL الخارجية.
الاستخدام: يستخدم في الاستعلامات عبر قواعد البيانات وتكامل البيانات.
أمر التثبيت:
CREATE EXTENSION postgres_fdw;
15. pgcrypto
الميزة: توفير وظائف التشفير والفك.
الاستخدام: يستخدم للتشفير وتأمين البيانات.
أمر التثبيت:
CREATE EXTENSION pgcrypto;
تثبيت واستخدام الوحدات الإضافية
في ServBay، يمكنك تثبيت واستخدام الوحدات الإضافية الرسمية لـ PostgreSQL من خلال الخطوات التالية:
الاتصال بقاعدة بيانات PostgreSQL:
bashpsql -U your_username -d your_database
1تثبيت الوحدة الإضافية:
sqlCREATE EXTENSION module_name;
1التحقق من التثبيت:
sql\dx
1
فيما يلي مثال على تمكين pg_trgm
psql (16.3 (ServBay))
Type "help" for help.
postgres=# \dx
List of installed extensions
Name | Version | Schema | Description
----------+---------+------------+------------------------------
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(2 rows)
postgres=# CREATE EXTENSION pg_trgm;
CREATE EXTENSION
postgres=# \dx
List of installed extensions
Name | Version | Schema | Description
----------+---------+------------+-------------------------------------------------------------------
pg_trgm | 1.6 | public | text similarity measurement and index searching based on trigrams
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(3 rows)
postgres=#
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
استعلام عن الوحدات المرفقة مع PostgreSQL
في ServBay، يمكنك استخدام الأمر التالي لعرض الوحدات المرفقة مع PostgreSQL:
SELECT * FROM pg_available_extensions order by name;
مثال على نتيجة نموذجية:
name | default_version | installed_version | comment
------------------------------+-----------------+-------------------+---------------------------------------------------------------------------------------------------------------------
address_standardizer | 3.4.2 | | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us | 3.4.2 | | Address Standardizer US dataset example
adminpack | 2.1 | | administrative functions for PostgreSQL
amcheck | 1.3 | | functions for verifying relation integrity
autoinc | 1.0 | | functions for autoincrementing fields
bloom | 1.0 | | bloom access method - signature file based index
btree_gin | 1.3 | | support for indexing common datatypes in GIN
btree_gist | 1.7 | | support for indexing common datatypes in GiST
citext | 1.6 | | data type for case-insensitive character strings
cube | 1.5 | | data type for multidimensional cubes
dblink | 1.2 | | connect to other PostgreSQL databases from within a database
dict_int | 1.0 | | text search dictionary template for integers
dict_xsyn | 1.0 | | text search dictionary template for extended synonym processing
earthdistance | 1.1 | | calculate great-circle distances on the surface of the Earth
file_fdw | 1.0 | | foreign-data wrapper for flat file access
fuzzystrmatch | 1.2 | | determine similarities and distance between strings
hstore | 1.8 | | data type for storing sets of (key, value) pairs
insert_username | 1.0 | | functions for tracking who changed a table
intagg | 1.1 | | integer aggregator and enumerator (obsolete)
intarray | 1.5 | | functions, operators, and index support for 1-D arrays of integers
isn | 1.2 | | data types for international product numbering standards
lo | 1.1 | | Large Object maintenance
ltree | 1.2 | | data type for hierarchical tree-like structures
moddatetime | 1.0 | | functions for tracking last modification time
old_snapshot | 1.0 | | utilities in support of old_snapshot_threshold
pageinspect | 1.12 | | inspect the contents of database pages at a low level
pg_buffercache | 1.4 | | examine the shared buffer cache
pg_freespacemap | 1.2 | | examine the free space map (FSM)
pg_jieba | 1.1.1 | | a parser for full-text search of Chinese
pg_prewarm | 1.2 | | prewarm relation data
pg_stat_statements | 1.10 | | track planning and execution statistics of all SQL statements executed
pg_surgery | 1.0 | | extension to perform surgery on a damaged relation
pg_trgm | 1.6 | 1.6 | text similarity measurement and index searching based on trigrams
pg_visibility | 1.2 | | examine the visibility map (VM) and page-level visibility info
pg_walinspect | 1.1 | | functions to inspect contents of PostgreSQL Write-Ahead Log
pgcrypto | 1.3 | 1.3 | cryptographic functions
pgrouting | 3.6.2 | | pgRouting Extension
pgrowlocks | 1.2 | | show row-level locking information
pgstattuple | 1.5 | | show tuple-level statistics
plpgsql | 1.0 | 1.0 | PL/pgSQL procedural language
postgis | 3.4.2 | | PostGIS geometry and geography spatial types and functions
postgis_sfcgal | 3.4.2 | | PostGIS SFCGAL functions
postgis_tiger_geocoder | 3.4.2 | | PostGIS tiger geocoder and reverse geocoder
postgres_fdw | 1.1 | | foreign-data wrapper for remote PostgreSQL servers
refint | 1.0 | | functions for implementing referential integrity (obsolete)
seg | 1.4 | | data type for representing line segments or floating-point intervals
sslinfo | 1.2 | | information about SSL certificates
tablefunc | 1.0 | | functions that manipulate whole tables, including crosstab
tcn | 1.0 | | Triggered change notifications
tsm_system_rows | 1.0 | | TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time | 1.0 | | TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent | 1.1 | | text search dictionary that removes accents
vector | 0.7.0 | | vector data type and ivfflat and hnsw access methods
xml2 | 1.1 | | XPath querying and XSLT
zhparser | 2.2 | | a parser for full-text search of Chinese
(55 rows)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
من خلال هذه الوحدات الإضافية، يمكنك تعزيز ميزات PostgreSQL لتلبية مختلف الاحتياجات التطبيقية المعقدة.ServBay تحتوي على جميع الوحدات الرسمية لـ PostgreSQL، مما يتيح للمستخدمين تثبيتها واستخدامها حسب الحاجة.