אפשר להרחיב את PostgreSQL על ידי קיבוץ אובייקטים של SQL לחבילה ושימוש בהם כיחידה אחת. בדף הזה מוסבר איך להגדיר את התוספים של PostgreSQL שנתמכים ב-Cloud SQL.
שימוש בתוספים של PostgreSQL
אפשר להתקין רק את התוספים שנתמכים ב-Cloud SQL. מידע נוסף זמין במאמר תוספים של PostgreSQL שנתמכים על ידי Cloud SQL.
איך מתקינים תוסף
לפני שמשתמשים בתוסף, צריך להתקין אותו:
- בכלי psql, מריצים את הפקודה CREATE EXTENSION.
עדכון תוסף
למרות שעדכוני התחזוקה של 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 כולל את הדברים הבאים:
postgispostgis_rasterpostgis_sfcgalpostgis_tiger_geocoderpostgis_topologyaddress_standardizeraddress_standardizer_data_us
מידע נוסף זמין במאמר התקנת 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 מוסיף לרשימת ההיתרים את הפריטים הבאים:
|
| 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 הם מידע נוסף על השימוש בתוסף הזה עם 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. |
| pgvector |
תוסף בקוד פתוח לאחסון ולחיפוש של הטמעות וקטורים במסדי נתונים של PostgreSQL. |
| 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 ( ב-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 כדי לטעון את התוסף הזה לסשן אחד.
dblink
במהלך סשן של מסד נתונים, אתם יכולים להשתמש בתוסף הזה כדי להתחבר למסדי נתונים של PostgreSQL ולהריץ שאילתות.
נכון לעכשיו, התוסף הזה פועל בשתי מכונות של כתובות IP פרטיות ב-Cloud SQL באותה רשת VPC, או במסדי נתונים שונים באותה מכונה.
מידע נוסף זמין בקטע dblink במסמכי התיעוד של PostgreSQL.
שימוש ב-dblink כדי להתחבר באמצעות סיסמה
כדי להתחבר למסדי נתונים או לאותו מכונה כמו משתמש אחר, צריך לציין סיסמה. למטרות הדגמה (אבל לא למטרות ייצור), הנה קטע קוד:
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');
שימוש ב-dblink כדי להתחבר בלי סיסמה
כדי להתחבר לאותו מכונה כמו אותו משתמש, אפשר להתחבר בלי סיסמה. לדוגמה:
מגדירים את הדגל הבא לניהול מסד הנתונים כדי לאפשר חיבורים מקומיים בלי סיסמה
cloudsql.allow_passwordless_local_connectionsמתחברים בלי לציין מארח, כלומר מתחברים לאותו מכונה. לדוגמה:
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_recheckpg_bigm.gin_key_limitpg_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:
- מפעילים את
pg_cronבמכונה על ידי הגדרת הדגלcloudsql.enable_pg_cronלערךon. כברירת מחדל,pg_cronפועל במסד הנתוניםpostgres. כדי להשתמש במסד נתונים אחר, צריך להגדיר את הדגלcron.database_nameלשם של מסד הנתונים הזה. מידע נוסף זמין במאמר הגדרת דגלים לניהול מסדי נתונים. מתחברים למסד הנתונים ויוצרים את התוספים
pg_partmanו-pg_cron:CREATE SCHEMA IF NOT EXISTS partman; CREATE EXTENSION pg_partman SCHEMA partman; CREATE EXTENSION pg_cron;אחרי שמגדירים את הטבלאות המחולקות למחיצות באמצעות
pg_partman, מתזמנים משימה שלpg_cronלהרצת תחזוקת המחיצות במרווחי זמן קבועים (לדוגמה, כל שעה):SELECT cron.schedule('@hourly', $$CALL partman.run_maintenance_proc()$$);
pg_proctab
כדי להשתמש בתוסף pg_proctab כדי להפעיל את הכלי pg_top:
- בכלי psql, מריצים את הפקודה CREATE EXTENSION ל-pg_proctab.
- מורידים ומריצים את pg_top.
- כשמתחברים למכונה של Cloud SQL ל-PostgreSQL, מוסיפים את האפשרות
-rכדי להתחבר למסד נתונים מרוחק ולקבל מדדים.
המדדים הבאים ברמת המכונה, שנכללים בפלט, כוללים את השימוש של סוכנים ושירותים תומכים אחרים במכונה:
- עומס ממוצע
- מצבי המעבד (CPU) (אחוז המשתמש, nice, מערכת, חוסר פעילות ו-iowait)
- זיכרון (בשימוש, פנוי ובמטמון)
pg_repack
התוסף הזה מאפשר להסיר נתונים מיותרים מטבלאות ומאינדקסים. אפשר גם להשתמש בתוסף הזה כדי לבצע CLUSTER אונליין (סידור טבלאות לפי אינדקס אשכול). מידע נוסף זמין במאמרי העזרה של pg_repack. בנוסף, כדי להשתמש בתוסף הזה ב-Cloud SQL, צריך הליך מיוחד להוספת הרשאות למשתמש.
אם משתמש שלא בתפקיד cloudsqlsuperuser רוצה להשתמש בתוסף, צריך לתת לו הרשאות של cloudsqlsuperuser. הדרישה להרשאות של משתמש-על
בדוגמה הבאה משתמשים בפקודה GRANT כדי להוסיף את ההרשאות הנדרשות.
דוגמה להוספת הרשאות
בדוגמאות הבאות, csuper1 הוא cloudsqlsuperuser ו-testdb הוא מסד נתונים בבעלות של testuser. כדי ליצור את התוסף pg_repack ב-testdb, מריצים קודם את הפקודות הבאות:
מתחברים אל
testdbבתורcloudsqlsuperuser:psql -U csuper1 -d testdb;נותנים לבעלים של מסד הנתונים, שהוא
testuser,, את ההרשאהcsuper1:GRANT testuser TO csuper1;יוצרים את התוסף:
CREATE EXTENSION pg_repack;מריצים את הפקודה
pg_repackבטבלה, כמוt1ב-testdb, בתורcsuper1:pg_repack -h <hostname> -d testdb -U csuper1 -k -t t1אחרי שהמשימה של 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.