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

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

יש שתי דרכים לשדרג את הגרסה הראשית של מסד הנתונים של מכונת Cloud SQL ל-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 כדי לעדכן את היעד בכל השינויים שבוצעו מאז שהתחיל ה-dump הראשוני. אחרי שהמכונות מסונכרנות, אפשר לקדם את מכונת היעד.

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

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

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

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