ייבוא קובץ DMP

כדי לשחזר ארכיון של מסד נתונים בינארי לאשכול AlloyDB ל-PostgreSQL, אתם יכולים לייבא קובץ DMP שנוצר על ידי הכלי pg_dump בפורמט custom או directory.

כדי לייבא קובץ שנוצר על ידי הכלי pg_dump בפורמט plain, קראו את המאמר ייבוא קובץ SQL.

תהליך הייבוא כולל את המשימות הבאות:

  1. מעלים את קובץ ה-DMP לקטגוריה של Cloud Storage.

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

  3. מייבאים את קובץ ה-DMP למסד הנתונים.

  4. מנקים את המשאבים שנוצרו כדי לבצע את התהליך.

לפני שמתחילים

  • בפרויקט ב- Google Cloud , אתם צריכים להיות בתפקיד הבסיסי "בעלים" (roles/owner) או "עריכה" (roles/editor) ב-IAM, או בתפקידים הבאים שמוגדרים מראש ב-IAM:
    • אדמין ב-AlloyDB‏ (roles/alloydb.admin) או צפייה ב-AlloyDB‏ (roles/alloydb.viewer)
    • אדמין באחסון (roles/storage.admin)
    • Compute Instance Admin ‏ (v1)‏ (roles/compute.instanceAdmin.v1)

מעלים את קובץ ה-DMP

כדי להעלות את קובץ ה-DMP, יוצרים קטגוריה של Cloud Storage ואז מעלים את קובץ ה-DMP לקטגוריה הזו.

  1. יוצרים קטגוריה של Standard Storage או Regional Storage בפרויקט ובאזור שבהם נמצא מסד הנתונים של AlloyDB.

  2. מעלים את קובץ ה-DMP לקטגוריית האחסון שיצרתם.

הכנת מארח לקוח

כדי להכין מארח לקוח לביצוע פעולת הייבוא, יוצרים מכונה וירטואלית של Compute Engine שיכולה להתחבר למכונה הראשית של AlloyDB שבה נמצא מסד הנתונים, ומתקינים במכונה הווירטואלית את הכלי pg_restore ואת Google Cloud CLI.

  1. פועלים לפי ההוראות במאמר חיבור לקוח psql למכונה כדי ליצור מכונה וירטואלית של Compute Engine עם הקישוריות המתאימה והכלי pg_restore מותקן. כשאתם פועלים לפי ההוראות האלה, חשוב לוודא שאתם מקצים מספיק נפח אחסון מקומי ל-VM של Compute Engine כדי להכיל את קובץ ה-DMP שאתם מייבאים.

  2. מתקינים את ה-CLI של gcloud כדי לספק גישה באמצעות שורת הפקודה לקובץ ה-DMP בקטגוריה של Cloud Storage.

ייבוא קובץ ה-DMP

כדי לייבא את קובץ ה-DMP, אתם צריכים לקבל את כתובת ה-IP של המכונה הראשית של AlloyDB שבה נמצא מסד הנתונים, ואז להשתמש בכלי pg_restore כדי לייבא את הקובץ למסד הנתונים.

  1. מציגים את הפרטים של המכונה הראשית של AlloyDB שבה נמצא מסד הנתונים, כדי לקבל את כתובת ה-IP שלה.
  2. מתחברים באמצעות SSH למכונה הווירטואלית של Compute Engine.

    המסוף

    1. נכנסים לדף VM instances במסוף Google Cloud .

      כניסה לדף VM instances

    2. ברשימת המכונות הווירטואליות, לוחצים על SSH בשורה של המכונה שיצרתם.

      הלחצן SSH ליד שם המכונה.

    gcloud

    משתמשים בפקודה gcloud compute ssh כדי להתחבר למכונה שיצרתם.

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את המכונה.
    • ‫ZONE: שם האזור שבו נמצאת המכונה.
    • ‫VM_NAME: שם המכונה.
  3. מעתיקים את קובץ ה-DMP למערכת הקבצים המקומית של המארח של הלקוח:
    gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
  4. מריצים את הפקודה הבאה כדי ליצור קובץ TOC שמסמן כהערה את כל הצהרות ה-EXTENSION:
    pg_restore \
    -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫DMP_FILE_NAME: קובץ ה-DMP במערכת הקבצים המקומית.
    • ‫TOC_FILE_NAME: שם הקובץ של תוכן העניינים שרוצים ליצור במערכת הקבצים המקומית.
  5. מייבאים את קובץ ה-DMP:
    pg_restore -h IP_ADDRESS -U postgres \
      -d DB_NAME \
      -L TOC_FILE_NAME \
      DMP_FILE_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫IP_ADDRESS: כתובת ה-IP של המכונה הראשית.
    • ‫DB_NAME: שם מסד הנתונים שאליו רוצים לייבא.
    • ‫TOC_FILE_NAME: קובץ תוכן העניינים שיצרתם בשלב הקודם.
    • ‫DMP_FILE_NAME: קובץ ה-DMP.

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

מחיקת משאבים

אחרי שמייבאים את קובץ ה-DMP, אפשר למחוק את הקטגוריה של Cloud Storage ואת ה-VM של Compute Engine שבהם השתמשתם בתהליך הייבוא.