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

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

יש שתי דרכים לשדרג את הגרסה הראשית של מסד הנתונים במופע Cloud SQL for PostgreSQL על ידי העברת הנתונים.

  • אפשרות 1. משתמשים ב-Database Migration Service (DMS). ‫DMS תומך בהעברה ממופע של Cloud SQL ל-PostgreSQL. אפשר גם להשתמש בו כדי לשדרג את גרסת מסד הנתונים.
  • אפשרות 2. כדי להעביר את הנתונים מגרסה אחת של PostgreSQL לגרסה אחרת, צריך לייצא את הנתונים מהמופע הנוכחי ולייבא אותם למופע חדש שפועלת בו הגרסה החדשה יותר של PostgreSQL. התהליך הזה כולל השבתה. צריך להעביר את המופע הנוכחי למצב קריאה בלבד לפני שמתחילים את הייצוא.

בהמשך הדף הזה נסביר על האפשרות השנייה.

תכנון שדרוג של גרסה ראשית

  1. בוחרים גרסה ראשית של היעד.

    כאן אפשר לעיין ברשימת הגרסאות שנתמכות ב-Cloud SQL.

  2. כדאי לבדוק את התכונות שמוצעות בכל גרסה של PostgreSQL ולטפל בבעיות תאימות.

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

  3. בודקים את השדרוג באמצעות הרצה יבשה.

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

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

  4. מחליטים מתי רוצים לשדרג.

העברת הנתונים

ההעברה כוללת שימוש בפקודה pg_dump כדי לייצא את הנתונים ממופע המקור, ובפקודה pg_restore כדי לייבא את הנתונים למופע היעד.

כדי להעביר את הנתונים למכונת Cloud SQL שמופעלת בה גרסה עדכנית יותר של מסד נתונים, פועלים לפי השלבים הבאים:

  1. יוצרים את מכונת היעד עם הגרסה הרצויה של PostgreSQL.

    מוודאים שלמופע היעד יש:

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

    מידע נוסף מופיע במאמר יצירת מופע.

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

  3. מייצאים את הנתונים של המכונה הנוכחית לקובץ dump של PostgreSQL, לפי ההוראות במאמר ייצוא נתונים לייבוא ל-Cloud SQL.

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

  4. יוצרים קטגוריה של Cloud Storage, אם צריך, ומעלים את קובץ SQL מוכן לשימוש לקטגוריה.

  5. מייבאים את הנתונים למכונת היעד לפי ההוראות במאמר ייבוא מסדי נתונים של PostgreSQL מ-Cloud Storage.

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

    מידע על שימוש ב-pglogical להטמעה של שכפול רציף זמין במאמר הגדרת המקור.

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

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

המאמרים הבאים