בדף הזה מוסבר איך לייבא למסד נתונים של AlloyDB קובץ DMP שנוצר באמצעות הכלי pg_dump בפורמט custom או directory.
כדי לייבא קובץ שנוצר על ידי הכלי pg_dump בפורמט plain, אפשר לעיין במאמר בנושא ייבוא קובץ SQL.
התהליך לייבוא כולל את המשימות הבאות:
מעלים את קובץ ה-DMP לקטגוריה של Cloud Storage.
מכינים מארח לקוח כדי לבצע את פעולת הייבוא.
מייבאים את קובץ ה-DMP למסד הנתונים.
מנקים את המשאבים שנוצרו כדי לבצע את התהליך.
לפני שמתחילים
- אתם צריכים את התפקיד הבסיסי 'בעלים' (
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)
- אדמין ב-AlloyDB (
העלאת קובץ ה-DMP
כדי להעלות את קובץ ה-DMP, יוצרים קטגוריה של Cloud Storage ואז מעלים את קובץ ה-DMP לקטגוריה הזו.
יוצרים קטגוריית אחסון Standard Storage או אחסון אזורי בפרויקט ובאזור שבהם נמצא מסד הנתונים של AlloyDB.
מעלים את קובץ ה-DMP לקטגוריית האחסון שיצרתם.
הכנת מארח לקוח
כדי להכין את המארח של הלקוח לביצוע פעולת הייבוא, יוצרים מכונה וירטואלית ב-Compute Engine שיכולה להתחבר למופע הראשי של AlloyDB שבו נמצא מסד הנתונים, ומתקינים במכונה הווירטואלית את הכלי pg_restore ואת Google Cloud CLI.
פועלים לפי ההוראות במאמר חיבור לקוח psql למופע כדי ליצור מכונה וירטואלית של Compute Engine עם קישוריות מתאימה וכלי
pg_restoreמותקן. כשפועלים לפי ההוראות האלה, חשוב להקצות מספיק אחסון מקומי למכונת ה-VM של Compute Engine כדי שיהיה מקום לקובץ ה-DMP שמייבאים.מתקינים את ה-CLI של gcloud כדי לקבל גישה לקובץ ה-DMP בקטגוריה של Cloud Storage דרך שורת הפקודה.
ייבוא קובץ ה-DMP
כדי לייבא את קובץ ה-DMP, צריך לקבל את כתובת ה-IP של המופע הראשי של AlloyDB שבו נמצא מסד הנתונים, ואז להשתמש בכלי pg_restore כדי לייבא את הקובץ למסד הנתונים.
- כדי לקבל את כתובת ה-IP של המופע הראשי של AlloyDB שבו נמצא מסד הנתונים, מעיינים בפרטים שלו.
- מתחברים למכונה הווירטואלית ב-Compute Engine באמצעות SSH.
המסוף
- נכנסים לדף VM instances במסוף Google Cloud .
- ברשימת המכונות הווירטואליות, לוחצים על SSH בשורה של המכונה שיצרתם.

gcloud
משתמשים בפקודה
gcloud compute sshכדי להתחבר למכונה שיצרתם.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את המכונה. -
ZONE: השם של האזור שבו נמצאת המכונה. -
VM_NAME: השם של המכונה.
- מעתיקים את קובץ ה-DMP למערכת הקבצים המקומית של מארח הלקוח:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- מריצים את הפקודה הבאה כדי ליצור קובץ TOC שבו כל ההצהרות של
EXTENSIONמופיעות כהערות:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
-
DMP_FILE_NAME: קובץ ה-DMP במערכת הקבצים המקומית. -
TOC_FILE_NAME: מציינים שם לקובץ תוכן העניינים שרוצים ליצור במערכת הקבצים המקומית.
-
- מייבאים את קובץ ה-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 שבה השתמשתם במהלך תהליך הייבוא.