שאלות נפוצות בנושא Cloud SQL ל-PostgreSQL

מידע כללי

מה זה Cloud SQL?
‫Cloud SQL הוא שירות שמספק מסדי נתונים מנוהלים של SQL בענן. ‫Cloud SQL מספק מסדי נתונים של PostgreSQL,‏ SQL Server ו-MySQL.
מה היתרונות בשימוש ב-Cloud SQL?
‫
Cloud SQL מאפשר לכם להעביר ל-Google משימות שגרתיות, אבל הכרחיות ולרוב גוזלות זמן רב – כמו החלת תיקונים ועדכונים, ניהול גיבויים והגדרת שכפולים – כדי שתוכלו להתמקד בפיתוח אפליקציות מצוינות. מכיוון שאנחנו משתמשים בפרוטוקולים סטנדרטיים של העברת נתונים, אתם יכולים להתחבר כמעט מכל אפליקציה, בכל מקום.
אילו גרסאות של מסדי נתונים זמינות ב-Cloud SQL? איך מנהלים את העדכונים?

‫Cloud SQL ל-PostgreSQL תומך בגרסאות PostgreSQL 9.6,‏ 10,‏ 11,‏ 12,‏ 13,‏ 14,‏ 15,‏ 16,‏ 17 ו-18 (ברירת מחדל).

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

כדי לראות את הגרסה הנוכחית של המופע, נכנסים אל Google Cloud המסוף, לוחצים על שם המופע כדי לפתוח את הדף Instance details (פרטי המופע). אפשר גם להשתמש בפקודה gcloud sql instances describe.

האם Cloud SQL תומך בכל התכונות של מסדי נתונים?
‫Cloud SQL תומך ברוב התכונות הנפוצות של PostgreSQL. רשימה של כל ההבדלים בין PostgreSQL סטנדרטי לבין הפונקציונליות ש-Cloud SQL מספק מופיעה במאמר ההבדלים בין Cloud SQL לבין הפונקציונליות של PostgreSQL סטנדרטי.
האם יש מגבלות על הגודל או על מספר השאילתות לשנייה?
אין מגבלות על מספר השאילתות לשנייה (QPS) למכונות Cloud SQL. מכסות ומגבלות: מידע על מגבלות שקשורות לחיבור, לגודל ול-App Engine.
איך אפשר לקבל התראות על שינויים ב-Cloud SQL?
אפשר להירשם לפיד ה-RSS של הדף PostgreSQL Release Notes.
איך מדווחים על באג, מבקשים להוסיף תכונה או שואלים שאלה?

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

כדי לראות את הסטטוס הכללי של Google Cloud , אפשר להיכנס אל Google Cloud Status Tracker.

אם נתקלתם בבאג ב-Cloud SQL שאפשר לשחזר, או אם אתם רוצים לבקש תכונה חדשה, אתם יכולים להשתמש בIssue Tracker.

חזרה למעלה

תחילת העבודה

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

אחסון נתונים, שכפול ואימות

איפה מאוחסנים הנתונים שלי?

נתוני המופע מאוחסנים באזור שבו המופע נמצא. אם לא תציינו מיקום לאחסון, הגיבויים יאוחסנו במספר אזורים שקרובים מבחינה גיאוגרפית למיקום של המכונה שלכם ב-Cloud SQL. לדוגמה, אם המכונה של Cloud SQL נמצאת ב-us-central1, הגיבויים מאוחסנים כברירת מחדל במספר אזורים ב-us. עם זאת, מיקום ברירת מחדל כמו australia-southeast1 נמצא מחוץ למספר אזורים. האזור הקרוב ביותר במספר אזורים הוא asia.

מה זה אזור?

תחום (zone) הוא ישות עצמאית במיקום גיאוגרפי ספציפי שבו אפשר להשתמש במשאבים. לדוגמה, אזור בשם us-central1-a מציין מיקום במרכז ארצות הברית.

מידע נוסף על אזורים זמין במאמר בנושא משאבים של אזורים במאמרי העזרה של Compute Engine.

מהן מגבלות האחסון?
מידע על מגבלות אחסון זמין במאמר מכסות ומגבלות.
איך הנתונים שלי משוכפלים?

מכונות PostgreSQL מספקות הגדרת זמינות גבוהה ועותקי קריאה.

אילו סוגים של עותקים לקריאה בלבד אפשר ליצור?

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

איך פועל מעבר לגיבוי בעת כשל ב-Cloud SQL?

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

האם הנתונים שלי מוצפנים?
נתוני הלקוחות ב-Cloud SQL מוצפנים כשהם מאוחסנים בטבלאות של מסדי נתונים, בקבצים זמניים ובגיבויים. אפשר להצפין את החיבורים החיצוניים באמצעות SSL או באמצעות Cloud SQL Auth Proxy.
איך מנוהלת ההצפנה של נתונים במנוחה?

הנתונים מוצפנים באמצעות תקן Advanced Encryption Standard (AES-256) של 256 ביט, או תקן טוב יותר, עם מפתחות סימטריים: כלומר, אותו מפתח משמש להצפנת הנתונים כשהם מאוחסנים, ולפענוח שלהם כשהם בשימוש. מפתחות הנתונים האלה מוצפנים בעצמם באמצעות מפתח שמאוחסן במאגר מפתחות מאובטח, והם משתנים באופן קבוע.

פרטים נוספים זמינים במאמר הצפנה במנוחה ב-Google Cloud.

איך מתבצעת הצפנה של נתונים בזמן ההעברה?

‫Google מצפינה ומאמתת את כל הנתונים במעבר בשכבת רשת אחת או יותר, כשהנתונים מועברים אל מחוץ לגבולות הפיזיים שאינם בשליטתה של Google או מטעמה של Google. הנתונים במעבר בתוך גבול פיזי שנמצא בשליטתה של Google או מטעמה מאומתים בדרך כלל, אבל עשויים להיות לא מוצפנים כברירת מחדל. אם מתחברים למופע באמצעות כתובת ה-IP הציבורית שלו, צריך להשתמש באישורי SSL/TLS כדי שהנתונים יהיו מאובטחים במהלך השידור. אתם יכולים לבחור אילו אמצעי אבטחה נוספים להחיל על סמך מודל האיומים שלכם. לדוגמה, אפשר להגדיר SSL לחיבורים בתוך אזור ל-Cloud SQL.

מידע נוסף זמין במאמר הצפנה במעבר ב-Google Cloud.

חזרה למעלה

העברת נתונים

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

גיבוי ושחזור

איך משחזרים מופע?

כדי לשחזר מגיבוי, אפשר להשתמש במסוףGoogle Cloud או בכלי שורת הפקודה gcloud. פרטים נוספים זמינים במאמר בנושא שחזור מופע.

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

כמה עולים הגיבויים?

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

למידע נוסף על תמחור האחסון של המכונות ועל תעריפי המכונות, ראו תמחור.

האם אפשר לגשת לגיבויים אוטומטיים שנוצרו לפני יותר משבעה ימים?

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

הערה: גיבויים על פי דרישה לא נמחקים עד שמסירים אותם באופן ידני.

מתי כדאי להשתמש ברפליקציה חיצונית ומתי ברפליקציה חוצת-אזורים כדי להגן מפני כשלים באזור?
רפליקציה חיצונית שכפול בין אזורים
בניהול עצמי של הלקוח רפליקה מנוהלת חוצת-אזורים ב-Cloud SQL
אפשר לשכפל בין מכונות שאינן של Google Cloud לבין מכונות של Google Cloud אפשר לשכפל רק בין מכונות של Cloud SQL
כדי לבצע מיגרציה אל Google Cloud או ממנו ולצמצם את זמן ההשבתה, או כדי להגן על נתונים בסביבה היברידית או מרובת עננים להעביר נתונים בין אזורים ב-Google Cloud כדי לצמצם את זמן ההשבתה
תמיכה ברפליקציה בין גרסאות ראשיות שונות לא תומך בשכפול בין גרסאות ראשיות שונות
חזרה למעלה

ניהול המכונות

אילו פעולות יכולות לגרום להפעלה מחדש של מכונות Cloud SQL?
יכול להיות שהמכונות של Cloud SQL יופעלו מחדש כשאתם או Cloud SQL מבצעים את הפעולות הבאות:
  • עדכון
  • יצירה
  • קידום רפליקה
  • תחזוקה
  • יצירת הרפליקה מחדש
  • יתירות כשל
  • הפעלה מחדש
  • שחזור מכונה מגיבוי
  • הפעלת זמינות גבוהה במכונה קיימת (זהו עדכון למכונה)
  • הוספת דגל מסד נתונים שדורש הפעלה מחדש

הפעלה מחדש של מכונה לא משנה את כתובות ה-IP הציבוריות או הפרטיות של המכונה.

לכמה זמן המכונות מושבתות במהלך ההפעלה מחדש?

כמה זמן המכונות מושבתות במהלך הפעלה מחדש?

כשמפעילים מחדש מכונות, רוב המכונות מושבתות למשך דקה עד שתי דקות. לפני שהמכונה מושבתת, כל החיבורים מסתיימים והעבודה הנוכחית נמחקת מהדיסק.

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

אפשר להגדיל או להקטין את מסד הנתונים?

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

האם אפשר לשדרג ולשנמך את מספר המעבדים הווירטואליים?

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

האם צריך להשתמש במסוף Google Cloud כדי לנהל את Cloud SQL?
לא. כל משימות הניהול שאפשר לבצע באמצעות המסוף, אפשר לבצע גם באופן פרוגרמטי באמצעות Cloud SQL Admin API, או באמצעות סקריפט באמצעות כלי שורת הפקודה gcloud.
איך אפשר לפנות את הנפח שמשמש לקבצים זמניים?
הגודל של קבצים זמניים יכול לגדול כששאילתות SQL יוצרות הרבה טבלאות זמניות. כדי לפנות את המקום שתופסות הטבלאות הזמניות, צריך להפעיל מחדש את מסד הנתונים. הערה: הפעלה מחדש של מסד הנתונים לא מקטינה את מקום בכונן שהוקצה כתוצאה מהגידול של קבצים זמניים.
אפשר לייבא או לייצא מסד נתונים ספציפי?
כן. אפשר לייבא או לייצא רק מסד נתונים ספציפי, ולא יותר ממסד נתונים אחד בכל פעם. מידע נוסף זמין במאמרים בנושא ייבוא נתונים או ייצוא נתונים.
אפשר לייבא או לייצא קובץ CSV?
אפשר לייבא או לייצא קובץ CSV ל-MySQL או ל-PostgreSQL. מידע נוסף זמין במאמר יצירת קובץ CSV.

בשלב הזה, אין תמיכה ב-CSV ב-Cloud SQL ל-SQL Server.

האם צריך חשבון Cloud Storage כדי לייבא נתונים למופע או לייצא נתונים ממנו?
ב-Cloud SQL אפשר לייבא ולייצא מסדי נתונים באמצעות קובצי CSV או pg_dump. מידע נוסף זמין במאמרים ייצוא וייבוא באמצעות pg_dump ו-pg_restore או ייצוא וייבוא באמצעות קובצי CSV.
אם אמחק את המכונה, אוכל להשתמש שוב בשם המכונה?
כן.
מהו משתמש מסד הנתונים cloudsqladmin?
כל מכונת מסד נתונים ב-Cloud SQL ל-PostgreSQL כוללת משתמש מסד נתונים בשם cloudsqladmin. יכול להיות שתבחינו במשתמש הזה אם תריצו את פקודת המטא \du cloudsqladmin ב-psql או תשאלו שאילתה ב-SELECT * FROM pg_roles WHERE rolname = 'cloudsqladmin'. במקרים מסוימים, המשתמש הזה מופיע גם בטבלת משתמשי המערכת. החשבון הזה משמש תהליכים אוטומטיים שצריכים לגשת לנתונים במופע שלכם (לדוגמה, גיבוי של המופע או ביצוע ייבוא או ייצוא).
מהי רמת הבידוד של טרנזקציה ש-Cloud SQL מספק?

מכונות PostgreSQL: ‏Cloud SQL מספק רמת בידוד של טרנזקציה Read committed. אפשר לשנות את רמת הבידוד של טרנזקציה ספציפית, אבל בדרך כלל עדיף להשתמש בערך ברירת המחדל. למידע נוסף, קראו את המאמר Transaction Isolation במסמכי התיעוד של PostgreSQL.

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

תובנות

למה לא הצלחתי למצוא את תוכנית לביצוע שאילתה לדוגמה בתובנות?
יש לנו רק שאילתות לדוגמה כדי לקבל את התוכנית לביצוע שאילתה, בגלל ההשפעה שיכולה להיות לה על הביצועים של השאילתה. לכן, לפעמים לא מופיעות תוכניות לדוגמה לביצוע שאילתות.
חזרה למעלה

תמחור וחיוב

איך אפשר לנסות את Cloud SQL?
המופע הקטן ביותר הוא db-f1-micro. אתם יכולים להשתמש בו כדי לנסות את השירות. חשוב לזכור שהסכם ה-SLA לא חל על מכונות עם ליבת מעבד משותפת.
כמה מכונות אפשר ליצור בפרויקט?
למידע על מגבלת המכונות, ראו מכסות ומגבלות.
איזה גודל של מכונה של מסד נתונים צריך? כמה זיכרון RAM?
באופן כללי, אפשר לשפר את הביצועים של מסד הנתונים על ידי בחירת מכונה גדולה יותר עם יותר זיכרון RAM ומעבד (CPU). כך משתפרים הביצועים של הרבה שאילתות שכוללות כמות גדולה של חישובים, כמו שאילתות שכוללות צירופים, ORDER BY או GROUP, אבל הביצועים של עדכונים שמשפיעים על שורות בודדות לא יושפעו הרבה. עם זאת, ככל שהגודל של המופע גדול יותר, כך זמן האחזור התפעולי גדול יותר. למידע נוסף על גודלי מכונות ותמחור, ראו את דף התמחור.
איך מחושב השימוש במופע שלי?

החיוב הוא לפי דקה, על הזמן שבו המכונה פועלת.

איך מחושב נפח האחסון?
האחסון מחושב על סמך נפח האחסון שהקציתם למכונה. החיוב על אחסון גיבויים נקבע לפי נפח האחסון שנדרש לגיבויים. החיוב על האחסון מתבצע גם אם המכונה פועלת וגם אם היא כבויה.
איך אפשר לראות כמה אשלם?
בכרטיסייה Billing של Google Cloud console מוצגים החיובים שנצברו על השימוש במופעים מאז החשבון האחרון שהונפק.
מה קורה כשהמכונה מגיעה לגודל המותר?
אם המכונה מגיעה לגודל האחסון שהוקצה, ולא הפעלתם הגדלה אוטומטית של נפח האחסון או שהיא הגיעה למגבלה שהוגדרה, לא תוכלו לכתוב למסד הנתונים עד שתגדילו את נפח האחסון. כדי להגדיל את נפח האחסון לא צריך להפעיל מחדש את המכונה או להשבית אותה.
למה המכונה שלי מושעית?
כנראה שיש בעיה בחשבון Google Cloud שלך. כדי לברר את סטטוס החיוב, אפשר למלא בקשת תמיכה בנושאי חיוב. אחרי שפותרים את הבעיה בחיוב, המכונה חוזרת לסטטוס "ניתן להפעלה" תוך כמה שעות. חשוב לדעת: מכונות PostgreSQL מושעות נמחקות אחרי 90 יום.
למה המכונה שלי נמחקה?
מכונות שמושעות למשך 90 יום נמחקות. ההגדרה הזו חלה על מכונות במצב SUSPENDED. מכונות שהופסקו, עם הסטטוס RUNNABLE, לא נמחקות.
איך אפשר לבטל את החשבון ב-Cloud SQL?
כדי להשבית את Cloud SQL בפרויקט, נכנסים לGoogle Cloud מסוף, בוחרים את הפרויקט ובוחרים את שירות ה-API כדי לפתוח את לוח הבקרה של ה-API. מחפשים את Cloud SQL API ולוחצים על השבתה לצד ה-API הזה.
איך משביתים את החיוב?
כדי להשבית את החיוב, לוחצים על Disable billing בחלונית Billing & settings של הפרויקט במסוף Google Cloud . אם תשביתו את החיוב, גם השירות של Cloud SQL יושבת. לפני שמשביתים את החיוב, חשוב לוודא שרוצים להשבית את שירות Cloud SQL.

אחרי שתשביתו את החיוב, תקבלו חשבון אחרון על חיובים שהיו בין תחילת מחזור החיובים לבין מועד הביטול.

.
חזרה למעלה

שימוש ב-Cloud SQL עם App Engine

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

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

איזה Google Cloud שירות מסד נתונים מתאים לי?
האפשרות הזו תלויה בדרישות של האפליקציה שלכם. Google Cloud מציע מספר אפשרויות לאחסון, לניהול ולשליפה של הנתונים. מידע נוסף זמין במאמר מסדי נתונים שלGoogle Cloud .
האם צריך להתקין שרת מסד נתונים מקומי כדי להשתמש בשרת הפיתוח של App Engine?
לא. אתם יכולים להגדיר את App Engine כך שישתמש ב-Cloud SQL או בשרת מסד נתונים שהותקן באופן מקומי כשהוא פועל בשרת הפיתוח.
באילו שפות אפשר להשתמש כדי לגשת למכונה?
סביבת ברירת המחדל ב-App Engine תומכת בכמה שפות שאפשר להשתמש בהן כדי להתחבר למופעים. למידע נוסף, ראו התחברות מסביבת ברירת המחדל ב-App Engine או התחברות מסביבה גמישה ב-App Engine.

אם אתם לא משתמשים ב-App Engine, אתם יכולים להשתמש בכל שפה שיש לה מחבר או API משויכים.

אפשר להשתמש ב-Django עם Cloud SQL?
כן. ‫Cloud SQL תואם ל-Django. מידע נוסף זמין במאמר תחילת העבודה עם Django.
באילו פלייסהולדרים אפשר להשתמש במחרוזת השאילתה ב-Python?
משתמשי Python יכולים להשתמש בקוד הפורמט %s רק בהחלפת פרמטרים. לכן, ההצהרה הבאה לא תקינה: cursor.execute('INSERT INTO entries (guestAge) VALUES (%d)', (age)).
איך מנהלים את החיבורים?

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

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

מה המשמעות של SQLException עם ההודעה 'מזהה חיבור לא תקין'?
המשמעות היא שהחיבור כבר לא פתוח בשרת והלקוח מחק אותו.  אין צורך לקרוא 'close' בחיבורים האלה, הם כבר סגורים.
האם אפשר לגשת למכונת Cloud SQL באופן פרוגרמטי מחוץ ל-App Engine?
כן. אתם יכולים לגשת למכונות של Cloud SQL באופן פרוגרמטי מאפליקציות חיצוניות, באמצעות כל שפה נתמכת. סקירה כללית על החיבור
חזרה למעלה