שליחת משוב
יצירה וניהול של מסדי נתונים
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מוסבר איך ליצור, להציג ולמחוק מסדי נתונים של PostgreSQL במכונת Cloud SQL.
למופע שנוצר יש מסד נתונים postgres.
מידע נוסף על מסדי נתונים של PostgreSQL זמין ב
מסמכי התיעוד של PostgreSQL .
לפני שמתחילים
לפני שמבצעים את המשימות בדף הזה, צריך:
יצירת מכונה של Cloud SQL. מידע נוסף זמין במאמר יצירת מופעים .
אם אתם מתכננים להשתמש בלקוח psql כדי ליצור או לנהל את מסדי הנתונים, אתם צריכים:
יצירת מסד נתונים במכונה של Cloud SQL
הערה: מסד הנתונים postgres הוא מסד הנתונים שמתחברים אליו כברירת מחדל לפני שיוצרים מסדי נתונים אחרים. אחרי שיוצרים מסד נתונים נוסף, עוברים אליו כדי ליצור טבלאות ולהוסיף נתונים. אל תשתמשו במסד הנתונים postgres לנתונים של האפליקציה, כי מסד הנתונים הזה משמש בעיקר למטרות ניהול.
האורך המקסימלי של שם מסד הנתונים הוא 64 תווים. מידע נוסף על קריטריונים אחרים לשם הזה זמין במאמר מזהים ומילות מפתח .
אם לא מציינים ערכת תווים ומיון כשיוצרים את מסד הנתונים,
מסד הנתונים יקבל את ערכי ברירת המחדל הבאים:
קבוצת תווים: UTF8
סדר המיון: en_US.UTF8
המסוף
הערה: אי אפשר להשתמש במסוף Google Cloud כדי להגדיר ערכים עבור ערכת התווים וסדר המיון. כדי להגדיר את הערכים האלה, צריך להשתמש בלקוח psql כדי ליצור את מסד הנתונים. מידע נוסף על שימוש בלקוח הזה כדי ליצור את מסד הנתונים זמין בכרטיסייה psql Client .
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
בתפריט הניווט של SQL, בוחרים באפשרות מסדי נתונים .
לוחצים על יצירת מסד נתונים .
בתיבת הדו-שיח מסד נתונים חדש , מציינים את שם מסד הנתונים.
לוחצים על יצירה .
gcloud
הערה: אי אפשר להשתמש ב-gcloud כדי להגדיר ערכים עבור מערכת התווים ואוסף הכללים (collation). כדי להגדיר את הערכים האלה, צריך להשתמש בpsql לקוח כדי ליצור את מסד הנתונים. מידע נוסף על שימוש בלקוח הזה כדי ליצור את מסד הנתונים זמין בכרטיסייה psql Client .
מידע נוסף זמין במאמר gcloud
sql databases create .
gcloud sql databases create DATABASE_NAME \
--instance= INSTANCE_NAME
הערה: אי אפשר להשתמש ב-Terraform כדי להגדיר ערכים עבור מערכת התווים ואוסף הכללים (collation). כדי להגדיר את הערכים האלה, צריך להשתמש בpsql לקוח כדי ליצור את מסד הנתונים. מידע נוסף על שימוש בלקוח הזה כדי ליצור את מסד הנתונים זמין בכרטיסייה psql Client .
כדי ליצור מסד נתונים, משתמשים במשאב של Terraform .
החלה של השינויים
כדי להחיל את ההגדרות של Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
מפעילים את Cloud Shell .
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית ).
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת .tf, למשל main.tf. במדריך הזה, הקובץ נקרא main.tf.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.
לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
שומרים את השינויים.
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות -upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:
terraform init -upgrade
החלה של השינויים
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform:
terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
הערה: בדרך כלל הנחת העבודה בדוגמאות של Terraform היא שממשקי ה-API הנדרשים מופעלים ב Google Cloud פרויקט.
מחיקת השינויים
כדי למחוק את השינויים:
כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט deletion_protection לערך false.
deletion_protection = "false"
מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:
terraform apply
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:
terraform destroy
REST v1
הערה: אי אפשר להשתמש בממשקי API בארכיטקטורת REST כדי להגדיר ערכים עבור מערכת התווים ואוסף הכללים (collation). כדי להגדיר את הערכים האלה, צריך להשתמש בלקוח psql כדי ליצור את מסד הנתונים. מידע נוסף על שימוש בלקוח הזה כדי ליצור את מסד הנתונים זמין בכרטיסייה psql Client .
בדוגמה הבאה נעשה שימוש בשיטה 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 "
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
הערה: אי אפשר להשתמש בממשקי API בארכיטקטורת REST כדי להגדיר ערכים עבור מערכת התווים ואוסף הכללים (collation). כדי להגדיר את הערכים האלה, צריך להשתמש בלקוח psql כדי ליצור את מסד הנתונים. מידע נוסף על שימוש בלקוח הזה כדי ליצור את מסד הנתונים זמין בכרטיסייה psql Client .
בדוגמה הבאה נעשה שימוש בשיטה 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 "
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
לקוח 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;
הערה: תבנית ברירת המחדל היא template1.
עם זאת, psql משתמש ב-template0 כי זה התבנית היחידה שמקבלת קידוד ספציפי וערכת תווים. מידע נוסף זמין במאמר בנושא מסדי נתונים של תבניות .
הצגת רשימת מסדי הנתונים
כדי להציג רשימה של כל מסדי הנתונים במופע:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
בתפריט צד, לוחצים על מסדי נתונים . בדף Databases מופיעה רשימה של מסדי נתונים, לצד סוג ההשוואה, ערכת התווים וסוג מסד הנתונים.
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag ",
"name": "sys",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/sys",
"project": "project-id "
}
הערה : ה-API databases.list תומך רק במטענים ייעודיים (payloads) של תגובות שכוללים עד 4 MB של טקסט.
אם מריצים בקשה לרשימת מסדי נתונים במופע גדול, יכול להיות שתתקבל שגיאה. במקרה כזה, כדי לקבל את רשימת מסדי הנתונים, מומלץ להריץ את הבקשה ישירות מהמופע.
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag ",
"name": "sys",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/sys",
"project": "project-id "
}
הערה : ה-API databases.list תומך רק במטענים ייעודיים (payloads) של תגובות שכוללים עד 4 MB של טקסט.
אם מריצים בקשה לרשימת מסדי נתונים במופע גדול, יכול להיות שתתקבל שגיאה. במקרה כזה, כדי לקבל את רשימת מסדי הנתונים, מומלץ להריץ את הבקשה ישירות מהמופע.
לקוח psql
למידע נוסף אפשר לעיין ברשימה .
כשמציגים את רשימת מסדי הנתונים באמצעות לקוח psql, רואים מסדי נתונים נוספים של תבניות ומסד נתונים של המערכת שלא מוצגים במסוף. אי אפשר למחוק את מסד הנתונים של המערכת או לנהל אותו.
\ l
מחיקה של מסד נתונים
כדי למחוק מסד נתונים במכונת Cloud SQL:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
בתפריט צד, לוחצים על מסדי נתונים .
ברשימת מסדי הנתונים, מוצאים את מסד הנתונים שרוצים למחוק ולוחצים על סמל האשפה.
בתיבת הדו-שיח מחיקת מסד נתונים , מזינים את שם מסד הנתונים ולוחצים על מחיקה .
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
לקוח psql
למידע נוסף, אפשר לעיין במאמר DROP DATABASE במסמכי התיעוד של PostgreSQL.
DROP DATABASE [ database_name ];
המאמרים הבאים
נסו בעצמכם
אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של Cloud SQL בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.
להתנסות ב-Cloud SQL בחינם
שליחת משוב
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0 . לפרטים, ניתן לעיין במדיניות האתר Google Developers . Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-03-05 (שעון UTC).
רוצה לתת לנו משוב?
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["התוכן קשה להבנה","hardToUnderstand","thumb-down"],["שגיאות בקוד לדוגמה או במידע","incorrectInformationOrSampleCode","thumb-down"],["חסרים לי פרטים או דוגמאות","missingTheInformationSamplesINeed","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-03-05 (שעון UTC)."],[],[]]