יצירה וניהול של מסדי נתונים

בדף הזה מוסבר איך ליצור, להציג ולמחוק מסדי נתונים של PostgreSQL במכונת Cloud SQL.

למופע שנוצר יש מסד נתונים postgres.

מידע נוסף על מסדי נתונים של PostgreSQL זמין במסמכי התיעוד של PostgreSQL.

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

לפני שמבצעים את המשימות בדף הזה, צריך:

אם אתם מתכננים להשתמש בלקוח psql כדי ליצור או לנהל את מסדי הנתונים, אתם צריכים:

יצירת מסד נתונים במכונה של Cloud SQL

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בתפריט הניווט של SQL, בוחרים באפשרות מסדי נתונים.
  4. לוחצים על יצירת מסד נתונים.
  5. בתיבת הדו-שיח מסד נתונים חדש, מציינים את שם מסד הנתונים.
  6. לוחצים על יצירה.

gcloud

מידע נוסף זמין במאמר gcloud sql databases create.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME

Terraform

כדי ליצור מסד נתונים, משתמשים במשאב של Terraform.

resource "google_sql_database" "database" {
  name     = "my-database"
  instance = google_sql_database_instance.instance.name
}

החלה של השינויים

כדי להחיל את ההגדרות של Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.

הכנת Cloud Shell

  1. מפעילים את Cloud Shell.
  2. מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud

    תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

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

הכנת הספרייה

לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).

  1. יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת .tf, למשל main.tf. במדריך הזה, הקובץ נקרא main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.

    מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.

    לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.

  3. בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
  4. שומרים את השינויים.
  5. מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
    terraform init

    אופציונלי: תוכלו לכלול את האפשרות -upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:

    terraform init -upgrade

החלה של השינויים

  1. בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
    terraform plan

    מתקנים את ההגדרות לפי הצורך.

  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform:
    terraform apply

    ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!‎".

  3. פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.

מחיקת השינויים

כדי למחוק את השינויים:

  1. כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט deletion_protection לערך false.
    deletion_protection =  "false"
  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:
    terraform apply
  1. כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:

    terraform destroy

REST v1

בדוגמה הבאה נעשה שימוש בשיטה databases:insert כדי ליצור מסד נתונים חדש במופע שצוין.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • project-id: מזהה הפרויקט
  • instance-id: מזהה המכונה
  • database-name: השם של מסד נתונים בתוך מכונת Cloud SQL

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases

תוכן בקשת JSON:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

REST v1beta4

בדוגמה הבאה נעשה שימוש בשיטה databases:insert כדי ליצור מסד נתונים חדש במופע שצוין.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • project-id: מזהה הפרויקט
  • instance-id: מזהה המכונה
  • database-name: השם של מסד נתונים בתוך מכונת Cloud SQL

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases

תוכן בקשת JSON:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

לקוח psql

מידע נוסף זמין במאמר CREATE DATABASE במסמכי התיעוד של PostgreSQL.

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

CREATE DATABASE database_name
  [[ ENCODING encoding ][ LC_COLLATE lc_collate ]];

לדוגמה:
CREATE DATABASE "example_db" WITH OWNER "example_user" ENCODING 'UTF8' LC_COLLATE = 'pl_PL.utf8' LC_CTYPE = 'pl_PL.utf8' TEMPLATE template0;

הצגת רשימת מסדי הנתונים

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

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

gcloud

מידע נוסף זמין במאמר gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

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

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

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • project-id: מזהה הפרויקט
  • instance-id: מזהה המכונה

ה-method של ה-HTTP וכתובת ה-URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

REST v1beta4

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

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

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • project-id: מזהה הפרויקט
  • instance-id: מזהה המכונה

ה-method של ה-HTTP וכתובת ה-URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

לקוח psql

למידע נוסף אפשר לעיין ברשימה.

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

\l

מחיקה של מסד נתונים

כדי למחוק מסד נתונים במכונת Cloud SQL:

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בתפריט צד, לוחצים על מסדי נתונים.
  4. ברשימת מסדי הנתונים, מוצאים את מסד הנתונים שרוצים למחוק ולוחצים על סמל האשפה.
  5. בתיבת הדו-שיח מחיקת מסד נתונים, מזינים את שם מסד הנתונים ולוחצים על מחיקה.

gcloud

מידע נוסף זמין במאמר gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

בדוגמה הבאה של בקשה נעשה שימוש בשיטה databases:delete כדי למחוק את מסד הנתונים שצוין.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • project-id: מזהה הפרויקט
  • instance-id: מזהה המכונה
  • database-name: השם של מסד נתונים בתוך מכונת Cloud SQL

ה-method של ה-HTTP וכתובת ה-URL:

DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

REST v1beta4

בדוגמה הבאה של בקשה נעשה שימוש בשיטה databases:delete כדי למחוק את מסד הנתונים שצוין.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • project-id: מזהה הפרויקט
  • instance-id: מזהה המכונה
  • database-name: השם של מסד נתונים בתוך מכונת Cloud SQL

ה-method של ה-HTTP וכתובת ה-URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

לקוח psql

למידע נוסף, אפשר לעיין במאמר DROP DATABASE במסמכי התיעוד של PostgreSQL.

DROP DATABASE [database_name];

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

נסו בעצמכם

אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של Cloud SQL בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.

להתנסות ב-Cloud SQL בחינם