הגדרת תוספים ל-PostgreSQL

אפשר להרחיב את PostgreSQL על ידי קיבוץ אובייקטים של SQL לחבילה ושימוש בהם כיחידה אחת. בדף הזה מוסבר איך להגדיר את התוספים של PostgreSQL שנתמכים ב-Cloud SQL.

שימוש בתוספים של PostgreSQL

אפשר להתקין רק את התוספים שנתמכים ב-Cloud SQL. מידע נוסף זמין במאמר תוספים של PostgreSQL שנתמכים על ידי Cloud SQL.

איך מתקינים תוסף

לפני שמשתמשים בתוסף, צריך להתקין אותו:

עדכון תוסף

למרות שעדכוני התחזוקה של Cloud SQL ל-PostgreSQL מתקינים באופן אוטומטי את קובצי ה-binary העדכניים ביותר של התוספים בתוכנה הבסיסית של המכונה, הם לא מעדכנים באופן אוטומטי את קטלוג מסד הנתונים של התוסף. אתם צריכים לעדכן את התוספים באופן ידני כדי לוודא שהם משתמשים בגרסאות הנתמכות העדכניות ביותר.

כדי לדעת אילו תוספים צריך לעדכן, משווים בין הגרסה המותקנת לבין הגרסה העדכנית ביותר שנתמכת, שמופיעה בטבלאות של תוספי PostgreSQL שנתמכים על ידי Cloud SQL.

מתחברים למסד הנתונים ומריצים את הפקודה הבאה כדי לראות את הגרסאות המותקנות:

SELECT * FROM pg_extension;

כדי לעדכן תוסף לגרסה העדכנית שזמינה במכונה, משתמשים בפקודה ALTER EXTENSION.

מתחברים למכונה הראשית באמצעות לקוח לבחירתכם, כמו Cloud SQL Studio או הלקוח psql, ומריצים את הפקודה הבאה לכל תוסף שרוצים לעדכן:

ALTER EXTENSION EXTENSION_NAME UPDATE;

אם אתם צריכים לעדכן לגרסה ספציפית, השתמשו בתחביר הבא:

ALTER EXTENSION EXTENSION_NAME
UPDATE TO 'VERSION_NUMBER';

דרישה להרשאות של משתמש-על

ב-Cloud SQL, רק משתמשים עם התפקיד cloudsqlsuperuser יכולים ליצור תוספים. כשיוצרים מכונה חדשה של PostgreSQL, המשתמש postgres נוצר כברירת מחדל (אבל צריך להגדיר את הסיסמה של המשתמש). משתמש ברירת המחדל של postgres הוא חלק מהתפקיד cloudsqlsuperuser. מידע נוסף זמין במאמר מידע על משתמשי PostgreSQL.

חיבורים בין מסדי נתונים

מכונות היעד של החיבורים צריכות להיות באותה רשת VPC כמו המכונה שממנה מתחברים.

במכונות של אשכולות, אי אפשר לבחור באפשרות Require trusted client certificates במסוףGoogle Cloud . בנוסף, כדי להתחבר למסדי נתונים באותו מכונה, אי אפשר להגדיר את המארח ל-localhost או ל-127.0.0.1. במקום זאת, צריך להשתמש בכתובת ה-IP שמוצגת למכונה במסוף Google Cloud .

בקשת תמיכה בתוסף חדש

אתם לא יכולים ליצור תוספים משלכם ב-Cloud SQL.

כדי לבקש תמיכה בתוסף, לוחצים על ‎+1 בבעיה הפתוחה או יוצרים בעיה חדשה. במאמר איך מחפשים או יוצרים דיווחים על בעיות והגשת בקשות להוספת תכונות חדשות לפי מוצר תוכלו למצוא רשימה של בעיות פתוחות בנושא Cloud SQL ומידע על יצירת דיווחים חדשים על בעיות.

תוספי PostgreSQL שנתמכים ב-Cloud SQL

כדי לקבל מידע על השימוש בתוסף ספציפי, אפשר לעיין בקישור למסמכי התיעוד באחת מהטבלאות שבהמשך.

אפשר לחלק את התמיכה של Cloud SQL בתוספים של PostgreSQL לקטגוריות הבאות:

PostGIS

תוסף PostGIS נתמך ב-Cloud SQL ל-PostgreSQL בכל הגרסאות העיקריות.

בטבלה הבאה מפורטות הגרסאות של תוסף PostGIS לכל גרסה של Cloud SQL ל-PostgreSQL:

גרסת Cloud SQL ל-PostgreSQL תוסף PostGIS
‫PostgreSQL 9.6 3.2.5
PostgreSQL 10 3.2.5
PostgreSQL 11 3.2.5
PostgreSQL 12 3.4.4
PostgreSQL 13 3.5.2
PostgreSQL 14 3.5.2
‫PostgreSQL 15 3.5.2
‫PostgreSQL 16 3.5.2
‫PostgreSQL 17 3.5.2
‫PostgreSQL 18 3.6.0

בגרסה ראשית ספציפית של PostgreSQL, בפקודה CREATE EXTENSION אפשר לציין גרסת תוסף של PostGIS באמצעות התנאי VERSION.

תוסף PostGIS כולל את הדברים הבאים:

מידע נוסף זמין במאמר התקנת PostGIS.

בנוסף, Cloud SQL ל-PostgreSQL כולל את גרסה 3.6.2 של התוסף pgRouting, שמרחיב את PostGIS. התוסף pgRouting משפר את העיבוד הגיאו-מרחבי באמצעות ניתוח וניתוב ברשת.

אתם יכולים לשדרג ידנית את PostGIS ואת התוספים שקשורים אליו לגרסה העדכנית. מידע נוסף על שדרוג תוספי PostGIS זמין במאמר שדרוג PostGIS.

תוספים של סוגי נתונים

תוסף תיאור
btree_gin מספקת מחלקות לדוגמה של אופרטורים של GIN שמטמיעות התנהגות שוות ערך ל-B-tree.
ב-PostgreSQL 9.6 משתמשים בגרסה 1.0. ב-PostgreSQL 10 משתמשים בגרסה 1.2. ב-PostgreSQL מגרסה 11 ואילך נעשה שימוש בגרסה 1.3.
btree_gist מספק מחלקות של אופרטורים לאינדקס GiST שמטמיעות התנהגות שוות ערך ל-B-tree.
ב-PostgreSQL 9.6 נעשה שימוש בגרסה 1.2. בגרסאות 10, 11, 12 ו-13 של PostgreSQL משתמשים בגרסה 1.5. ב-PostgreSQL 14 נעשה שימוש בגרסה 1.6. בגרסאות 15, 16 ו-17 של PostgreSQL משתמשים בגרסה 1.7. ב-PostgreSQL 18 נעשה שימוש בגרסה 1.8.
chkpass מטמיע סוג נתונים chkpass שמיועד לאחסון סיסמאות מוצפנות.
ב-PostgreSQL 9.6 ו-10 משתמשים בגרסה 1.0. אין תמיכה בגרסאות אחרות.
citext מספק סוג מחרוזת תווים לא תלוית-רישיות citext.
ב-PostgreSQL 9.6 משתמשים בגרסה 1.3. ב-PostgreSQL 10 נעשה שימוש בגרסה 1.4. ב-PostgreSQL 11 משתמשים בגרסה 1.5. בגרסאות 12, 13, 14, 15, 16 ו-17 של PostgreSQL משתמשים בגרסה 1.6. ב-PostgreSQL 18 נעשה שימוש בגרסה 1.8.
cube מטמיע סוג נתונים cube לייצוג קוביות רב-ממדיות.
ב-PostgreSQL 9.6 ו-10 משתמשים בגרסה 1.2. ב-PostgreSQL 11 משתמשים בגרסה 1.3. בגרסאות 12 ו-13 של PostgreSQL משתמשים בגרסה 1.4. ב-PostgreSQL מגרסה 14 ואילך נעשה שימוש בגרסה 1.5.
hstore מטמיע את סוג הנתונים hstore לאחסון קבוצות של צמדי מפתח/ערך בערך PostgreSQL יחיד.
ב-PostgreSQL 9.6 ו-10 משתמשים בגרסה 1.4. ב-PostgreSQL 11 משתמשים בגרסה 1.5. ב-PostgreSQL 12 נעשה שימוש בגרסה 1.6. ב-PostgreSQL 13 משתמשים בגרסה 1.7. ב-PostgreSQL מגרסה 14 ואילך משתמשים בגרסה 1.8.
ip4r מספק סוגי נתונים לכתובות IPv4/v6 ולטווחי כתובות, וגם תמיכה באינדקס.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.4.2.
isn מספק סוגי נתונים לכמה תקנים בינלאומיים של מספרי מוצרים.
בגרסאות 9.6 ו-10 של PostgreSQL משתמשים בגרסה 1.1. בגרסאות 11, 12, 13, 14, 15, 16 ו-17 של PostgreSQL משתמשים בגרסה 1.2. ‫PostgreSQL 18 משתמש בגרסה 1.3.
lo תמיכה בניהול אובייקטים גדולים (שנקראים גם LO או BLOB).
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.1.
ltree מטמיע סוג נתונים ltree לייצוג תוויות של נתונים שמאוחסנים במבנה היררכי דמוי עץ.
בגרסאות 9.6, 10, 11 ו-12 של PostgreSQL משתמשים בגרסה 1.1. בגרסאות 13, 14, 15 ו-16 של PostgreSQL משתמשים בגרסה 1.2. ב-PostgreSQL 17 משתמשים בגרסה 1.3.
postgresql-hll סוג נתונים חדש, hll, שהוא מבנה נתונים של HyperLogLog. אפשר גם לעיין בקטע postgresql-hll במאמר הזה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.18.
prefix מספק התאמה של קידומת, וגם תמיכה באינדקס.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.0.

תוספי שפה

תוסף תיאור
plpgsql שפה פרוצדורלית שאפשר לטעון כדי ליצור פונקציות, פרוצדורות וטריגרים. אפשר גם להשתמש בשפה הזו כדי להריץ קוד ישירות בבלוקים של DO.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
plv8 שפת פרוצדורה שמאפשרת להפעיל JavaScript.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 3.2.2, שמשתמשת בגרסה 11.5 של מנוע V8 JavaScript.

תוספים שונים

תוסף תיאור
amcheck מספק פונקציות לאימות העקביות הלוגית של מבנה היחסים, ומאפשר לאפליקציה pg_amcheck לבדוק אם יש פגיעה בנתונים.
auto_explain הפעלת רישום אוטומטי ביומן של תוכניות ביצוע של הצהרות איטיות, לפתרון בעיות ועוד. מספקת דרך אוטומטית לבצע את הפונקציונליות של הפקודה EXPLAIN. אפשר גם לעיין בקטע auto_explain במסמך הזה.
autoinc מספק פונקציות להגדלת שדות באופן אוטומטי. הטריגר הזה שומר את הערך הבא ברצף בשדה של מספר שלם.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
bloom מספק שיטה לגשת לאינדקסים שמבוססים על מסנני בלום. מסנן בלום הוא מבנה נתונים חסכוני במקום, שמאפשר לבדוק אם רכיב מסוים שייך לקבוצה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
dblink מספק פונקציות לחיבור למסדי נתונים של PostgreSQL מתוך סשן של מסד נתונים. ראו גם את dblink במסמך הזה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.
decoderbufs מפענח לוגי של PostgreSQL שמעביר נתוני פלט כמאגרי אחסון לפרוטוקולים, שמותאמים ל-Debezium.
dict_int תבנית מילון לתוסף לחיפוש טקסט מלא ששולטת בהוספה לאינדקס של מספרים שלמים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
earthdistance מספק שתי גישות לחישוב מרחקים של מעגל גדול על פני כדור הארץ.
בגרסאות 9.6, 10, 11, 12, 13, 14, 15 ו-16 של PostgreSQL משתמשים בגרסה 1.1. ב-PostgreSQL 17 ו-18 משתמשים בגרסה 1.2.
fuzzystrmatch מספק כמה פונקציות לקביעת הדמיון והמרחק בין מחרוזות.
בגרסאות 9.6, 10, 11, 12, 13, 14 ו-15 של PostgreSQL משתמשים בגרסה 1.1. ב-PostgreSQL מגרסה 16 ואילך משתמשים בגרסה 1.2
google_ml_integration יוצר הטמעות וקטורים כדי לתרגם פרומפטים טקסטואליים לווקטורים מספריים באמצעות מודל שפה גדול (LLM).
ב-PostgreSQL מגרסה 12 ואילך משתמשים בגרסה 1.4.3. אין תמיכה בגרסאות אחרות.
google_read_only_session כשגישת הכתיבה מוגבלת באופן זמני או קבוע במהלך סשן על ידי הדגל cloudsql_session_read_only, התוסף google_read_only_session מוסיף לרשימת ההיתרים את הפריטים הבאים:
  • כל הפונקציות המובנות התנודתיות ב-C שנחשבות בטוחות למצב קריאה בלבד.
  • כל הפונקציות הבטוחות מתוספים שנטענים במסד הנתונים, כולל פונקציות ה-handler לשפות pl/pgsql ו-pl/v8.
insert_username מספקת פונקציות לשמירת השם של המשתמש הנוכחי בשדה טקסט. אתם יכולים להשתמש בזה כדי לעקוב אחרי מי ששינה לאחרונה שורה בטבלה של מסד נתונים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
intagg מספק צובר של מספרים שלמים וספירה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.1.
intarray מספקת קבוצה של פונקציות ואופרטורים לטיפול במערכים של מספרים שלמים ללא ערכי null, ולביצוע חיפושים באינדקסים שלהם.
בגרסאות 9.6, 10, 11 ו-12 של PostgreSQL משתמשים בגרסה 1.2. ב-PostgreSQL 13 משתמשים בגרסה 1.3. ב-PostgreSQL מגרסה 14 ואילך נעשה שימוש בגרסה 1.5.
moddatetime מספקת פונקציות לשמירת השעה הנוכחית בשדה timestamp. אפשר להשתמש בזה כדי לעקוב אחרי הפעם האחרונה שבה שורה בטבלה של מסד נתונים שונתה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
oracle_fdw מספק מעטפת נתונים זרים (fdw) כדי לגשת למסדי נתונים של Oracle בקלות וביעילות.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.

אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של Cloud SQL, אתם צריכים להפעיל את הקישוריות של Private Service Connect לתעבורה יוצאת כדי להשתמש בתוסף הזה.
orafce מספק פונקציות ואופרטורים שמדמים קבוצת משנה של פונקציות וחבילות ממסד נתונים של Oracle. אתם יכולים להשתמש בפונקציות האלה כדי להעביר אפליקציות של Oracle ל-PostgreSQL.
ב-PostgreSQL 9.6 ו-10 משתמשים בגרסה 3.25. ב-PostgreSQL מגרסה 11 ואילך משתמשים בגרסה 4.13.
pageinspect בודק את התוכן של דפי מסד הנתונים ברמה נמוכה. ראו גם את pageinspect במסמך הזה.
ב-PostgreSQL 9.6 משתמשים בגרסה 1.5. ב-PostgreSQL 10 נעשה שימוש בגרסה 1.6. בגרסאות 11 ו-12 של PostgreSQL משתמשים בגרסה 1.7. בגרסאות 13 ו-14 של PostgreSQL משתמשים בגרסה 1.8. ב-PostgreSQL 15 משתמשים בגרסה 1.11. בגרסאות 16 ו-17 של PostgreSQL משתמשים בגרסה 1.12. ב-PostgreSQL 18 נעשה שימוש בגרסה 1.13.
pgAudit אוסף נתוני ביקורת.

הערכים שאפשר להגדיר לקובצי יומן הביקורת בכל הגרסאות של pgAudit הם READ,‏ WRITE,‏ FUNCTION,‏ ROLE,‏ DDL,‏ MISC ו-ALL. בגרסאות 1.4.2 ואילך, אפשר גם להגדיר את הערך של MISC_SET.

מידע נוסף על השימוש בתוסף הזה עם Cloud SQL זמין במאמר ביקורת ל-PostgreSQL באמצעות pgAudit.

pg_background מאפשר להריץ פקודות שרירותיות ב-worker ברקע.
ב-PostgreSQL 17 ובגרסאות קודמות נעשה שימוש בגרסה 1.3. ב-PostgreSQL 18 משתמשים בגרסה 1.4.
pg_bigm מאפשר חיפוש טקסט מלא, ומאפשר אינדקס של שני גרמים (ביגרם) לחיפוש טקסט מלא מהיר יותר. אפשר גם לעיין בקטע pg_bigm במסמך הזה.
pg_buffercache מאפשר לבדוק מה קורה במטמון של מאגר הנתונים הזמני המשותף בזמן אמת.
ב-PostgreSQL 9.6 נעשה שימוש בגרסה 1.2. בגרסאות 10, 11, 12, 13, 14 ו-15 של PostgreSQL משתמשים בגרסה 1.3. ב-PostgreSQL 16 נעשה שימוש בגרסה 1.4. בגרסה 17 של PostgreSQL ואילך משתמשים בגרסה 1.5.
pg_cron מתזמן משימות שמבוסס על cron. התוסף הזה מאפשר להשתמש בתחביר cron כדי לתזמן פקודות PostgreSQL ישירות ממסד הנתונים. מידע נוסף על התוסף מופיע בקטע pg_cron במאמר הזה. ‫
בגרסאות 10 ואילך של PostgreSQL משתמשים בגרסה 1.6.4.
pgcrypto מספק פונקציות קריפטוגרפיות ל-PostgreSQL.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.3.
pglogical מספק שכפול לוגי ל-PostgreSQL. הגדרה של שכפול לוגי ופענוח.
ב-PostgreSQL 17 ובגרסאות קודמות נעשה שימוש בגרסה 2.4.5. ב-PostgreSQL 18 משתמשים בגרסה 2.4.6.
pgfincore קבוצת פונקציות לניהול דפים בזיכרון המטמון של הדיסק של מערכת ההפעלה מ-PostgreSQL. אפשר גם לעיין בקטע pgfincore במסמך הזה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.4.
pg_freespacemap בודק את מפת המקום הפנוי (FSM). אפשר גם לעיין בקטע pg_freespacemap במסמך הזה.
ב-PostgreSQL 17 ובגרסאות קודמות נעשה שימוש בגרסה 1.2. ‫PostgreSQL 18 משתמש בגרסה 1.3.
pg_hint_plan מאפשר לשפר את תוכניות הביצוע של PostgreSQL באמצעות רמזים, שהם תיאורים פשוטים בהערות SQL. אפשר גם לעיין בקטע pg_hint_plan במסמך הזה.
pgoutput הפלאגין הזה משמש לשכפול לוגי לצורך סימון נתונים שהשתנו (CDC). ‫pgoutput הוא פלאגין שמוגדר כברירת מחדל, ולכן הוא נתמך בכל הגרסאות של Cloud SQL ל-PostgreSQL.
pg_ivm מאפשרת לעדכן תצוגות מהותיות, כך שרק שינויים מצטברים מחושבים ומוחלים על התצוגות, במקום לחשב מחדש את התוכן מאפס.
גרסאות 13 ואילך של PostgreSQL תומכות בגרסה 1.9.
pg_partman עוזר ליצור ולנהל קבוצות של מחיצות בטבלאות שמבוססות על זמן ועל מספרים סידוריים. אפשר גם לעיין בקטע pg_partman במסמך הזה.
גרסאות 14 ואילך של PostgreSQL תומכות בגרסה 5.4.3, וגרסאות של PostgreSQL שקודמות ל-14 תומכות רק בגרסה 4.7.4 ומטה.
pg_prewarm מספקת דרך נוחה לטעון נתוני קשרים למטמון המאגר של מערכת ההפעלה או למטמון המאגר של PostgreSQL.
ב-PostgreSQL 9.6 ו-10 משתמשים בגרסה 1.1. ב-PostgreSQL מגרסה 11 ואילך משתמשים בגרסה 1.2.
pg_qualstats אוסף נתונים סטטיסטיים על פרדיקטים, שיכולים לעזור לכם למצוא את האינדקסים החסרים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.1.2.
plpgsql_check כלי linter לניתוח סטטי של PL/pgSQL, שפת הפרוצדורה המאוחסנת המקורית ב-PostgreSQL.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.8.
התוסף הזה נתמך בגרסאות 14 ואילך של PostgreSQL.
pg_proctab מאפשר להשתמש ב-pg_top עם Cloud SQL ל-PostgreSQL, וליצור דוחות מטבלת התהליכים של מערכת ההפעלה. אפשר גם לעיין בקטע pg_proctab במסמך הזה.
pg_repack מאפשר להסיר נתונים מיותרים מטבלאות ומאינדקסים. אופציונלי, מאפשר לבצע CLUSTER אונליין (סידור טבלאות לפי אינדקס אשכולות). אפשר גם לעיין בקטע pg_repack במסמך הזה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.5.2.
pg_roaringbitmap התוסף pg_roaringbitmap מציג סוג נתונים של מפת סיביות (bitmap) מסוג Roaring, שמאפשר אחסון יעיל מאוד ופעולות מהירות על אוספים גדולים של מספרים שלמים. הוא מאחסן באופן דינמי מספרים שלמים בצורות דחוסות (מערכים, מפות סיביות או מאגרי ריצה) על סמך הצפיפות שלהם, וכך מקטין באופן משמעותי את נפח האחסון ומאיץ פעולות נפוצות כמו איחוד, חיתוך וחישובי עוצמה.
זמין ב-PostgreSQL מגרסה 12 ואילך. ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 0.5 של pg_roaringbitmap.
pgrowlocks מספק מידע על נעילת שורות בטבלה שצוינה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.
pgstattuple מספק פונקציות שונות לקבלת נתונים סטטיסטיים ברמת ה-tuple.
ב-PostgreSQL 9.6 משתמשים בגרסה 1.4. בכל שאר הגרסאות נעשה שימוש בגרסה 1.5.
pg_similarity תמיכה בשאילתות דמיון ב-PostgreSQL.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
pg_squeeze מסירה שטח לא מנוצל מטבלה, ואפשר להשתמש באינדקס כדי למיין רשומות או שורות (מערכים) של הטבלה. מידע נוסף על התוסף הזה מופיע בקטע pg_squeeze במסמך הזה.
ב-PostgreSQL 11 נעשה שימוש בגרסה 1.5 של התוסף.
בגרסאות 12, 13, 14, 15, 16 ו-17 של PostgreSQL משתמשים בגרסה 1.8 של התוסף.
ב-PostgreSQL 18 משתמשים בגרסה 1.9 של התוסף.
pg_textsearch מספק חיפוש טקסט מלא באמצעות אלגוריתם הניקוד BM25‏ (Best Matching 25) המקובל בתחום, כדי לספק ניקוד רלוונטיות מדויק מאוד. מידע נוסף על התוסף הזה זמין במאמר חיפוש טקסט מלא באמצעות pg_textsearch.
נדרשת גרסת PostgreSQL 17 ואילך.
pg_stat_statements מספקת אמצעי למעקב אחרי נתונים סטטיסטיים של ביצוע כל הצהרות ה-SQL שהופעלו.
ב-PostgreSQL 9.6 משתמשים בגרסה 1.4. בגרסאות 10 ו-11 של PostgreSQL משתמשים בגרסה 1.6. ב-PostgreSQL 12 נעשה שימוש בגרסה 1.7. ב-PostgreSQL 13 משתמשים בגרסה 1.8. ב-PostgreSQL 14 נעשה שימוש בגרסה 1.9. בגרסאות 15 ו-16 של PostgreSQL משתמשים ב-1.10. ב-PostgreSQL 17 משתמשים בגרסה 1.11. ב-PostgreSQL 18 משתמשים ב-1.12.
pgTAP מספקת מסגרת לבדיקות יחידה (unit testing) ל-PostgreSQL, שכתובה ב-PL/pgSQL וב-PL/SQL.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.3.0.
pg_trgm מספק פונקציות ואופרטורים לקביעת הדמיון של טקסט אלפאנומרי על סמך התאמת טריגרם, וגם מחלקות של אופרטורים של אינדקסים שתומכות בחיפוש מהיר של מחרוזות דומות.
ב-PostgreSQL בגרסאות 9.6 ו-10 משתמשים בגרסה 1.3. בגרסאות 11 ו-12 של PostgreSQL משתמשים בגרסה 1.4. ב-PostgreSQL 13 משתמשים ב-1.5. ב-PostgreSQL מגרסה 14 ואילך משתמשים בגרסה 1.6.
pgtt

יצירה וניהול של טבלאות זמניות גלובליות בסגנון DB2 או Oracle במסד נתונים של PostgreSQL.
בגרסאות 9.6, 10 ו-11 של PostgreSQL משתמשים בגרסה 3.0. ב-PostgreSQL מגרסה 12 ואילך משתמשים בגרסה 4.0.

pgvector

תוסף בקוד פתוח לאחסון ולחיפוש של הטמעות וקטורים במסדי נתונים של PostgreSQL.
גרסאות 13 ואילך של PostgreSQL תומכות בגרסה 0.8.5, גרסה 12 של PostgreSQL תומכת עד גרסה 0.7.4 וגרסה 11 של PostgreSQL תומכת עד גרסה 0.5.1.

pg_visibility מאפשר לבחון את מפת החשיפה (VM) ואת פרטי החשיפה ברמת הדף של טבלה. אפשר גם לעיין בקטע pg_visibility במסמך הזה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.
pg_wait_sampling אוסף נתונים סטטיסטיים של אירועי המתנה, ומספק נתוני אירוע של אירועי המתנה עבור תהליכים בשרתים. ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.1.5.
PL/Proxy רכיב handler של שפה פרוצדורלית שמאפשר קריאות לשירות מרוחק (RPC) בין מסדי נתונים של PostgreSQL, עם חלוקה אופציונלית לפלחים. אפשר גם לעיין בקטע PL/Proxy במסמך הזה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.11.0.
postgres_fdw מאפשר ליצור מעטפות נתונים זרות בתוך מכונות או בין מכונות. אפשר גם לעיין בקטע postgres_fdw במאמר הזה.
בגרסאות 9.6, 10, 11, 12 ו-13 של PostgreSQL משתמשים בגרסה 1.0. ב-PostgreSQL מגרסה 14 ואילך משתמשים בגרסה 1.1.
postgresql_anonymizer

הסתרת פרטים אישיים מזהים (PII) או מידע רגיש ממסד נתונים של PostgreSQL, או החלפה שלהם. מידע נוסף זמין בקטע postgresql_anonymizer.

ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.0.

postgresql_hll

מספק מבנה נתונים של HyperLogLog (hll) שמעריך את העוצמה (cardinality) של קבוצה.

ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.18.

rdkit אוסף של תוכנות לכימינפורמטיקה ולמידת מכונה. אתם יכולים להשתמש בתוסף הזה כדי להשוות, לשנות ולזהות מבנים מולקולריים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 4.6.1.
refint ‫כולל פונקציות לבדיקת אילוצי מפתח זר, הטבלה המפנה והטבלה שאליה מפנים. התוסף הזה גם מדגים את ממשק תכנות השרת (SPI). ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
sslinfo מספק מידע על אישור ה-SSL שהלקוח הנוכחי סיפק כשהוא התחבר למכונה.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.
tablefunc כולל פונקציות שונות שמחזירות טבלאות (כמה שורות).
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
tcn מספק פונקציית טריגר שמודיעה למאזינים על שינויים בתוכן של טבלאות מסד הנתונים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
tds_fdw מספק מעטפת נתונים זרים (FDW) לגישה למסדי נתונים, כמו Microsoft SQL Server ו-Sybase, שמשתמשים בפרוטוקול Tabular Data Stream ‏ (TDS). ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 2.0.4. לקוח Postgres יכול להתחבר למקור של שרת SQL באמצעות הצפנת SSL. עם זאת, אימות אישור השרת לא נאכף.
temporal_tables תמיכה בטבלאות זמניות. טבלה זמנית מתעדת את פרק הזמן שבו שורה תקפה מבחינת מסד הנתונים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.2.2.
tsm_system_rows מספק את שיטת הדגימה של הטבלה SYSTEM_ROWS, שאפשר להשתמש בה בסעיף TABLESAMPLE של פקודת SELECT.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
tsm_system_time מספק את שיטת הדגימה של הטבלה SYSTEM_TIME, שאפשר להשתמש בה בסעיף TABLESAMPLE של פקודת SELECT.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.0.
unaccent מילון לחיפוש טקסט שמסיר סימני הטעמה (סימנים דיאקריטיים) מלקסמות.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.1.
uuid-ossp מספק פונקציות ליצירת מזהים ייחודיים אוניברסליים (UUID) באמצעות אחד מכמה אלגוריתמים סטנדרטיים.
ב-Cloud SQL ל-PostgreSQL משתמשים בגרסה 1.1.

מידע נוסף על חלק מהתוספים של PostgreSQL

בקטע הזה מפורט מידע נוסף על חלק מהתוספים הנתמכים של PostgreSQL שמופיעים בטבלאות שלמעלה.

auto_explain

כדי להתחיל להשתמש בתוסף הזה במכונה, צריך להגדיר את הדגל cloudsql.enable_auto_explain ל-on. למידע על הגדרת דגלים לניהול מסדי נתונים, וסקירה של הדגלים לניהול מסדי נתונים שנתמכים בתוסף הזה, ראו הגדרת דגלים של מסדי נתונים.

כדי לראות את נתוני הרישום ביומן ואת האירועים שמשויכים ליומנים של תוכניות ההרצה שהתוסף הזה מאפשר, עיינו במסמכי התיעוד של Cloud Logging.

לחלופין, אם למשתמש יש את התפקיד cloudsqlsuperuser (בלבד), אפשר להשתמש בפקודה load כדי לטעון את התוסף הזה לסשן אחד.

במהלך סשן של מסד נתונים, אתם יכולים להשתמש בתוסף הזה כדי להתחבר למסדי נתונים של PostgreSQL ולהריץ שאילתות.

נכון לעכשיו, התוסף הזה פועל בשתי מכונות של כתובות IP פרטיות ב-Cloud SQL באותה רשת VPC, או במסדי נתונים שונים באותה מכונה.

מידע נוסף זמין בקטע dblink במסמכי התיעוד של PostgreSQL.

כדי להתחבר למסדי נתונים או לאותו מכונה כמו משתמש אחר, צריך לציין סיסמה. למטרות הדגמה (אבל לא למטרות ייצור), הנה קטע קוד:


  SELECT * FROM dblink (
    'dbname=name port=1234 host=host user=user password=password',
    'select id, name from table' \
  ) AS t(id int, name text);

לחלופין, כדי להגדיר רק חיבור, הנה קטע קוד לדוגמה (לא למטרות ייצור):

  SELECT dblink_connect('dbname=dblinktest user=postgres host=name_or_ip password=xxx');

כדי להתחבר לאותו מכונה כמו אותו משתמש, אפשר להתחבר בלי סיסמה. לדוגמה:

  1. מגדירים את הדגל הבא לניהול מסד הנתונים כדי לאפשר חיבורים מקומיים בלי סיסמה
    cloudsql.allow_passwordless_local_connections

  2. מתחברים בלי לציין מארח, כלומר מתחברים לאותו מכונה. לדוגמה:

    SELECT *
      FROM dblink('dbname=finance user=alice',
                  'select income from revenue')
        AS revenue(income integer);
    

    התוצאה עשויה להיראות כך:

          income
          --------
          1000
          (1 row)
    

כדי להתחבר למסדי נתונים באותו מכונה, אי אפשר להגדיר את המארח ל-localhost או ל-127.0.0.1. במקום זאת, צריך להשתמש בכתובת ה-IP שמוצגת למכונה במסוף Google Cloud .

אפשר גם לעיין בקטעים postgres_fdw ו-PL/Proxy במסמך הזה.

pageinspect

התוסף הזה בודק את התוכן של דפי מסד הנתונים ברמה נמוכה. מידע נוסף זמין במאמרי העזרה של PostgreSQL בנושא pageinspect.

pg_bigm

התוסף הזה מאפשר חיפוש טקסט מלא ואינדקס של שני גרמים (ביגרם) לחיפוש מהיר יותר של טקסט מלא.

כדי להתחיל להשתמש בתוסף הזה במכונה, צריך להגדיר את הדגל cloudsql.enable_pg_bigm ל-on. אפשר להשתמש גם בדגלים הבאים:

  • pg_bigm.enable_recheck
  • pg_bigm.gin_key_limit
  • pg_bigm.similarity_limit

במאמר הגדרת דגלים לניהול מסד נתונים מוסבר איך מגדירים דגלים ומפורטים הדגלים שנתמכים בתוסף הזה.

pg_cron

כדי להתחיל להשתמש ב-pg_cron במכונה, מגדירים את הדגל cloudsql.enable_pg_cron לערך on. במאמר הגדרת דגלים לניהול מסדי נתונים מוסבר איך מגדירים דגלים ומפורטים הדגלים שנתמכים בתוסף הזה.

המשימות מוגדרות כ-background workers, ולכן יכול להיות שתצטרכו להשתמש בטכניקות סטנדרטיות של PostgreSQL (כמו הדגל max_worker_processes) כדי לשנות את מספר ה-background workers.

בתוסף הזה, Cloud SQL תומך במצב של עובד ברקע, אבל לא בממשק libpq. לכן, לא נדרש אימות מהימנות שקשור ישירות לתוסף הזה.

pgfincore

התוסף הזה מכיל פונקציות לניהול דפים בזיכרון המטמון של הדיסק של מערכת ההפעלה מ-PostgreSQL. מידע נוסף זמין במאמרי העזרה של pgfincore.

pg_freespacemap

התוסף הזה בודק את מפת השטח הפנוי (FSM). למידע נוסף, קראו על pg_freespacemap במסמכי התיעוד של PostgreSQL.

pg_hint_plan

כדי להתחיל להשתמש בתוסף הזה במכונה, צריך להגדיר את הדגל cloudsql.enable_pg_hint_plan ל-on. למידע על הגדרת דגלים לניהול מסדי נתונים, וסקירה של הדגלים לניהול מסדי נתונים שנתמכים בתוסף הזה, ראו הגדרת דגלים של מסדי נתונים.

לחלופין, רק למשתמש עם התפקיד cloudsqlsuperuser, אתם יכולים להשתמש בפקודה load כדי לטעון את התוסף הזה לסשן אחד.

pg_partman

התוסף הזה עוזר ליצור ולנהל קבוצות של מחיצות בטבלאות שמבוססות על זמן ועל מספרים סידוריים.

ב-Cloud SQL, התוסף הזה לא כולל את ה-background worker‏ (pg_partman_bgw) לתחזוקה אוטומטית של המחיצות. במקום זאת, אתם יכולים להשתמש ב-pg_cron או ב-Cloud Scheduler עם פונקציות Cloud Run כדי להפעיל תחזוקה על ידי קריאה לפונקציות או פרוצדורות תחזוקה של pg_partman במרווחי זמן קבועים.

לדוגמה, כדי לתזמן תחזוקת מחיצות באמצעות pg_cron:

  1. מפעילים את pg_cron במכונה על ידי הגדרת הדגל cloudsql.enable_pg_cron לערך on. כברירת מחדל, pg_cron פועל במסד הנתונים postgres. כדי להשתמש במסד נתונים אחר, צריך להגדיר את הדגל cron.database_name לשם של מסד הנתונים הזה. מידע נוסף זמין במאמר הגדרת דגלים לניהול מסדי נתונים.
  2. מתחברים למסד הנתונים ויוצרים את התוספים pg_partman ו-pg_cron:

    CREATE SCHEMA IF NOT EXISTS partman;
    CREATE EXTENSION pg_partman SCHEMA partman;
    CREATE EXTENSION pg_cron;
    
  3. אחרי שמגדירים את הטבלאות המחולקות למחיצות באמצעות pg_partman, מתזמנים משימה של pg_cron להרצת תחזוקת המחיצות במרווחי זמן קבועים (לדוגמה, כל שעה):

    SELECT cron.schedule('@hourly', $$CALL partman.run_maintenance_proc()$$);
    

pg_proctab

כדי להשתמש בתוסף pg_proctab כדי להפעיל את הכלי pg_top:

  1. בכלי psql, מריצים את הפקודה CREATE EXTENSION ל-pg_proctab.
  2. מורידים ומריצים את pg_top.
  3. כשמתחברים למכונה של Cloud SQL ל-PostgreSQL, מוסיפים את האפשרות -r כדי להתחבר למסד נתונים מרוחק ולקבל מדדים.

המדדים הבאים ברמת המכונה, שנכללים בפלט, כוללים את השימוש של סוכנים ושירותים תומכים אחרים במכונה:

  • עומס ממוצע
  • מצבי המעבד (CPU) (אחוז המשתמש, nice, מערכת, חוסר פעילות ו-iowait)
  • זיכרון (בשימוש, פנוי ובמטמון)

pg_repack

התוסף הזה מאפשר להסיר נתונים מיותרים מטבלאות ומאינדקסים. אפשר גם להשתמש בתוסף הזה כדי לבצע CLUSTER אונליין (סידור טבלאות לפי אינדקס אשכול). מידע נוסף זמין במאמרי העזרה של pg_repack. בנוסף, כדי להשתמש בתוסף הזה ב-Cloud SQL, צריך הליך מיוחד להוספת הרשאות למשתמש.

אם משתמש שלא בתפקיד cloudsqlsuperuser רוצה להשתמש בתוסף, צריך לתת לו הרשאות של cloudsqlsuperuser. הדרישה להרשאות של משתמש-על בדוגמה הבאה משתמשים בפקודה GRANT כדי להוסיף את ההרשאות הנדרשות.

דוגמה להוספת הרשאות

בדוגמאות הבאות, csuper1 הוא cloudsqlsuperuser ו-testdb הוא מסד נתונים בבעלות של testuser. כדי ליצור את התוסף pg_repack ב-testdb, מריצים קודם את הפקודות הבאות:

  1. מתחברים אל testdb בתור cloudsqlsuperuser:

    psql -U csuper1 -d testdb;
    
  2. נותנים לבעלים של מסד הנתונים, שהוא testuser,, את ההרשאה csuper1:

    GRANT testuser TO csuper1;
    
  3. יוצרים את התוסף:

    CREATE EXTENSION pg_repack;
    
  4. מריצים את הפקודה pg_repack בטבלה, כמו t1 ב-testdb, בתור csuper1:

    pg_repack -h <hostname> -d testdb -U csuper1 -k -t t1
    
  5. אחרי שהמשימה של pg_repack מסתיימת, מבטלים את ההרשאה שנתתם בשלב 2:

     REVOKE testuser FROM csuper1;
    

יכול להיות שהפקודה pg_repack תיכשל ותופיע השגיאה הבאה:
"ERROR: query failed: SSL SYSCALL error: EOF detected"

אם השגיאה הזו מתרחשת, נסו להגדיר את אותות החיים של TCP לערך קטן יותר ואז להריץ את הפקודה pg_repack. למידע נוסף, קראו את המאמר זמן קצוב לתפוגה של חיבורים (מ-Compute Engine).

pg_squeeze

התוסף הזה מסיר שטח לא מנוצל מטבלה, ואפשר להשתמש באינדקס כדי למיין את ה-tuples של הטבלה. כדי להתחיל להשתמש בתוסף במכונה, מגדירים את הדגל cloudsql.enable_pg_squeeze לערך on.

התוסף הזה תומך גם בפענוח לוגי על ידי כתיבת מידע נוסף ביומן הכתיבה מראש (WAL). כדי להפעיל את הפונקציונליות הזו בתוסף, צריך להגדיר את פרמטר ההגדרה wal_level לערך logical או יותר על ידי הגדרת הדגל cloudsql.logical_decoding לערך on.

התוסף דורש להגדיר ערך לדגל max_replication_slots. אם לא ציינתם ערך לדגל הזה, הגדירו את הערך 1. אחרת, מוסיפים 1 לערך שמוגדר לדגל.

במאמר הגדרת דגלים של מסדי נתונים מוסבר איך להגדיר דגלים ומפורטים הדגלים שנתמכים בתוסף הזה.

pg_textsearch

התוסף pg_textsearch מספק חיפוש טקסט מלא באמצעות אלגוריתם הניקוד BM25 (Best Matching 25), שהוא הסטנדרט בתחום, כדי לספק ניקוד רלוונטיות מדויק מאוד. התוסף הוא פרויקט קוד פתוח שזמין ב-GitHub.

התוסף pg_textsearch דורש את PostgreSQL מגרסה 17 ואילך.

התוסף pg_textsearch תומך בתדירות מסמכים הפוכה (td-idf), ברוויה של תדירות המונחים ובנורמליזציה של אורך המסמכים, ולכן הוא יכול להפיק תוצאות רלוונטיות יותר מהפונקציה המובנית ts_rank של PostgreSQL. בנוסף, מכיוון שהיא פועלת ישירות בדפי אחסון רגילים של PostgreSQL, אתם לא צריכים להתקין מנוע של צד שלישי כמו Elasticsearch, או לדאוג לתחזוקה של אשכול כפול ולסנכרון נתונים. בעזרת pg_textsearch, אתם יכולים ליצור חוויות חיפוש חזקות, רלוונטיות וניתנות להתאמה בלי לצאת מהסביבה של PostgreSQL.

מידע נוסף זמין במאמר חיפוש טקסט מלא באמצעות pg_textsearch.

pgtt

כדי להתחיל להשתמש בתוסף הזה במכונה, צריך להגדיר את הדגל pgtt.enabled ל-on. למידע על הגדרת דגלים לניהול מסדי נתונים, וסקירה של הדגלים שנתמכים בתוסף הזה, ראו הגדרת דגלים של מסדי נתונים.

pg_visibility

התוסף הזה מאפשר לבחון את מפת החשיפה (VM) ואת פרטי החשיפה ברמת הדף של טבלה. מידע נוסף זמין במאמרי העזרה של PostgreSQL בנושא pg_visibility.

PL/Proxy

התוסף הזה הוא handler של שפה פרוצדורלית שמאפשר קריאות לשירות מרוחק (RPC) בין מסדי נתונים של PostgreSQL, עם חלוקה אופציונלית לפלחים.

מידע נוסף זמין במסמכי התיעוד של PL/Proxy.

מכונות היעד של החיבורים צריכות להיות באותה רשת VPC כמו המכונה שממנה מתחברים. בנוסף, אי אפשר לבחור במסוףGoogle Cloud את הלחצן Allow only SSL connections במכונות של האשכול.

כדי להתחבר למסדי נתונים באותו מכונה, אי אפשר להגדיר את המארח ל-localhost או ל-127.0.0.1. במקום זאת, צריך להשתמש בכתובת ה-IP שמוצגת למכונה במסוף Google Cloud .

אפשר גם לעיין בקטעים postgres_fdw ו-dblink במסמך הזה.

postgresql_anonymizer

כדי להתחיל להשתמש בתוסף הזה במכונה, צריך להגדיר את הדגל cloudsql.enable_anon ל-on. למידע על הגדרת דגלים לניהול מסדי נתונים, וסקירה של הדגלים שנתמכים בתוסף הזה, ראו הגדרת דגלים של מסדי נתונים.

postgres_fdw

התוסף הזה מאפשר לחשוף טבלאות ממסדי נתונים אחרים ("חיצוניים") של PostgreSQL כטבלאות "חיצוניות" במסד הנתונים הנוכחי. לאחר מכן, הטבלאות האלה זמינות לשימוש, כמעט כאילו הן היו טבלאות מקומיות. למידע נוסף, קראו על postgres_fdw במסמכי התיעוד של PostgreSQL.

התוסף הזה פועל בשתי מכונות של כתובות IP פרטיות ב-Cloud SQL באותה רשת VPC, או במסדי נתונים שונים באותה מכונה.

כדי להתחבר למסדי נתונים באותו מכונה, אי אפשר להגדיר את המארח ל-localhost או ל-127.0.0.1. במקום זאת, צריך להשתמש בכתובת ה-IP שמוצגת למכונה במסוף Google Cloud .

בנוסף, במכונה שבה מאוחסנים נתונים זרים, אפשר לבחור באפשרות Allow only SSL connections במסוף Google Cloud . אי אפשר לבחור באפשרות דרישה לאישורי לקוח מהימנים. רק cloudsqlsuperuser יכול להיות הבעלים של מעטפת נתונים זרים ב-postgres_fdw.

אפשר גם לעיין בקטעים PL/Proxy ו-dblink במסמך הזה.

postgresql-hll

התוסף הזה מוסיף סוג נתונים חדש, hll, שהוא מבנה נתונים של HyperLogLog. מידע נוסף זמין במאמרי העזרה של postgresql-hll.