ייבוא קובץ DMP

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

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

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

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

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

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

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

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

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

העלאת קובץ ה-DMP

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

  1. יוצרים קטגוריית אחסון Standard 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. כדי לקבל את כתובת ה-IP של המופע הראשי של AlloyDB שבו נמצא מסד הנתונים, מעיינים בפרטים שלו.
  2. מתחברים למכונה הווירטואלית ב-Compute Engine באמצעות SSH.

    המסוף

    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 ואת המכונה הווירטואלית של Compute Engine שבה השתמשתם במהלך תהליך הייבוא.