פתרון בעיות בשדרוג גרסה ראשית במקום

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

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

‫AlloyDB מאמת את הבקשה באופן סינכרוני ומחזיר הודעת שגיאה אם מתקיים אחד מהתנאים הבאים:

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

אם הבקשה תקפה, יכול להיות שהשדרוג ייכשל בגלל הסיבות הבאות:

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

כשלים בבדיקה לפני שדרוג ב-AlloyDB

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

  • בדיקות לפני שדרוג ב-AlloyDB‏ (ALLOYDB_PRECHECK)
  • pg_upgrade בדיקות (PG_UPGRADE_CHECK)
  • שדרוגים של אשכולות ראשיים (PRIMARY_INSTANCE_UPGRADE)

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

הודעות השגיאה מאוכלסות ב-logs_url בתגובה לפעולת השדרוג. אפשר לצפות ביומנים האלה בLogs Explorer במסוף Google Cloud . מידע נוסף זמין במאמר בנושא צפייה ביומני שדרוג.

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

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

Total number of databases checked for custom checks: 3
Total number of databases containing pg_largeobject: 0
Total number of databases containing event triggers permissions issue: 0
Total number of databases containing extensions compatibility violation: 1
Total number of databases containing search path violations: 0

כשלים בבדיקה של pg_upgrade

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

כמה קבצים – כמו tables_with_oids.txt ו-tables_using_reg.txt, שנוצרים במהלך pg_upgrade – מיוצאים לקובץ היומן postgres_upgrade. אפשר לסנן את הקבצים האלה באמצעות התווית labels.FILE_NAME.

שמות קבצים שעשויים להכיל שגיאות שצריך לפתור:

שם הקובץ תיאור

tables_with_oids.txt

הקובץ הזה מכיל טבלאות שמופיעות עם מזהי אובייקטים (OID). מוחקים את הטבלאות או משנים אותן כך שלא ייעשה בהן שימוש ב-OID.

tables_using_composite.txt

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

tables_using_unknown.txt

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

tables_using_sql_identifier.txt

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

tables_using_reg.txt

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

postfix_ops.txt

הקובץ הזה מכיל טבלאות שמופיעות ברשימה באמצעות אופרטורים של postfix (right-unary). צריך למחוק את הטבלאות או לשנות אותן כך שלא נעשה בהן שימוש באופרטורים האלה.

כשלים ב-pg_upgrade

המבנה של יומני PG_UPGRADE דומה למבנה של יומני PG_UPGRADE_CHECK.

דוגמה ליומן עם התווית labels.FILE_NAME=pg_upgrade_dump*.log:

pg_upgrade_dump: error: query failed: ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.

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