במסמך הזה מוסבר איך לפתור בעיות שאתם עלולים להיתקל בהן במהלך שדרוג של מסד נתונים של 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.
שמות קבצים שעשויים להכיל שגיאות שצריך לפתור:
| שם הקובץ | תיאור |
|---|---|
|
הקובץ הזה מכיל טבלאות שמופיעות עם מזהי אובייקטים (OID). מוחקים את הטבלאות או משנים אותן כך שלא ייעשה בהן שימוש ב-OID. |
|
הקובץ הזה מכיל טבלאות שמופיעות ברשימה באמצעות סוגים מורכבים שמוגדרים על ידי המערכת. מוחקים את הטבלאות או משנים אותן כך שלא נעשה בהן שימוש בסוגים המורכבים האלה. |
|
הקובץ הזה מכיל טבלאות שמפורטות באמצעות
UNKNOWN סוג הנתונים. מוחקים את הטבלאות או משנים אותן כך שלא ייעשה בהן שימוש בסוג הנתונים הזה. |
|
הקובץ הזה מכיל טבלאות שמפורטות באמצעות
SQL_IDENTIFIER סוג הנתונים. מוחקים את הטבלאות או משנים אותן כך שלא ישמשו בהן נתונים מהסוג הזה. |
|
הקובץ הזה מכיל טבלאות שמפורטות באמצעות סוג הנתונים REG* – לדוגמה, REGCOLLATION או REGNAMESPACE. מוחקים את הטבלאות או משנים אותן כך שלא ייעשה בהן שימוש בסוג הנתונים הזה. |
|
הקובץ הזה מכיל טבלאות שמופיעות ברשימה באמצעות אופרטורים של 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.
המאמרים הבאים
- מידע על שגיאות בשדרוג גרסה ראשי של מסד נתונים במקום
- איך מבצעים שדרוג של גרסה ראשית של מסד נתונים במקום