Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
שליחת משוב
הקטנת נפח האחסון של מופע
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מוסבר איך לנהל את קיבולת האחסון של מופע Cloud SQL באמצעות יכולות של הקטנת נפח האחסון.
לפני שמתחילים
מעיינים במגבלות של התכונה .
אם אתם משתמשים ב-ה-CLI של gcloud , ודאו שאתם משתמשים בגרסה העדכנית של Google Cloud SDK ושל ה-CLI של gcloud.
מתקינים את הגרסה העדכנית של ה-CLI של gcloud (גרסה 563.0.0 ואילך של ה-CLI של gcloud).
כדי לקבל את הגרסה הנוכחית של ה-CLI של gcloud, מריצים את הפקודה gcloud --version.
כדי לעדכן את גרסת ה-CLI של gcloud, מריצים את הפקודה gcloud components update.
מקבלים את הרשאות ה-IAM הבאות:
cloudsql.instances.getDiskShrinkConfig
cloudsql.instances.performDiskShrink
ההרשאות האלה זמינות בתפקידים הבאים. כשמקצים תפקיד, מומלץ להחיל את העיקרון של הרשאות מינימליות:
Cloud SQL Admin (roles/cloudsql.admin)
עריכה ב-Cloud SQL (roles/cloudsql.editor)
מידע נוסף זמין במקורות המידע הבאים:
הכנת המופע
לפני שמתחילים, צריך לעמוד בדרישות הבאות.
השלבים האלה זהים גם למופעים ראשיים וגם למופעים משוכפלים לקריאה.
אם מעדכנים רפליקה לקריאה, חשוב קודם להקטין את הקיבולת של המופע הראשי ואז להקטין את הגודל של הרפליקה.
מאתרים את מזהה הפרויקט שמכיל את המופע שרוצים לנהל.
בודקים את המצב הנוכחי של המכונה כדי לוודא שהיא פועלת. אחת הדרכים לבדוק היא להשתמש בפקודה describe :
gcloud sql instances describe
הפונקציה מחזירה את הסטטוס הבא:
RUNNABLE
אם לא, מפעילים את המופע .
יוצרים גיבוי של המכונה הנוכחית. כך תוכלו לשחזר את המופע מאוחר יותר אם תיתקלו בבעיות במהלך ההגדרה.
אם אתם מפעילים מכונת PostgreSQL, צריך להגדיר את ערך הדגל max_wal_size לערך שקטן מ-5,128 MB. אם הערך של max_wal_size גדול מדי, יכול להיות שההפעלה של המופע תהיה איטית והפעולה תיכשל.
צריך להשבית את כל התוספים או התכונות שמאפשרים חיבורים יוצאים (או שדורשים העברת נתונים יוצאת).
לדוגמה, יכול להיות שחיבור יוצא נוצר באמצעות אחד מהתוספים או התכונות האלה, ולכן צריך להשבית אותו לפני שמבצעים פעולת צמצום של נפח האחסון:
תוסף dblink
תוסף PL/proxy
תוסף pglogical
עטיפות נתונים חיצוניות (כמו postgres_fdw, oracle_fdw ו-tds_fdw)
שכפול לוגי ב-PostgreSQL 10 ואילך
הקטנת נפח האחסון של מופע
השלבים הבאים זהים למופעים ראשיים ולרפליקות לקריאה.
כדאי לבדוק את קיבולת האחסון המינימלית של המופע ואת משך הפעולה המשוער. המידע הזה יכול לעזור לכם לתכנן את פעולת צמצום האחסון.
הערה: היכולת הזו לא זמינה עבור העתקים לקריאה. קיבולת האחסון של העותק לקריאה תואמת בדרך כלל לקיבולת של המכונה הראשית המשויכת.
gcloud מריצים את הפקודה gcloud sql instances get-storage-shrink-config :
gcloud sql instances get-storage-shrink-config INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה הראשית.
התשובה כוללת ערך של minimalTargetSizeGb. אפשר להשתמש בערך הזה כדי לקבוע את הערך שרוצים להשתמש בו בפרמטר --storage-size כשמפעילים פעולת הקטנה של נפח האחסון.
התגובה כוללת גם הודעה עם זמן פעולה משוער, כמו בדוגמה הבאה:
...
"The estimated operation time is 20 minutes".
REST v1 אפשר להשתמש בשיטה GET כדי לראות את נפח האחסון המינימלי של יעד המופע.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : השם של הפרויקט שבו נמצאת המכונה הראשית.
INSTANCE_ID : מזהה המכונה של המכונה הראשית.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /getDiskShrinkConfig
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
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 /getDiskShrinkConfig"
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 /getDiskShrinkConfig" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#instance",
"min_target_size_gb": "1234"
"message": "The size of your instance's storage impacts IOPS, and therefore shrinking your storage
may have a negative impact on IOPS. Before shrinking your storage, please refer to our
documentation on Cloud SQL limits to understand what impact shrinking your storage might have:
https://cloud.google.com/sql/docs/quotas#fixed-limits. Additionally, we recommend leaving an
appropriate buffer for operational purposes, like reindexing, etc. We recommend a buffer of at
least 100 GB or 20% more than current usage, whichever is larger. For more details, please refer
to: https://cloud.google.com/sql/docs/shared-responsibility. The estimated operation time is
20 minutes."
}
התשובה כוללת ערך של min_target_size_gb. אפשר להשתמש בערך הזה כדי לקבוע את הערך שרוצים להשתמש בו בפרמטר --storage-size כשמפעילים פעולת הקטנה של נפח האחסון.
התגובה כוללת גם הודעה עם זמן פעולה משוער, כמו בדוגמה הבאה:
...
"The estimated operation time is 20 minutes".
REST v1beta4 אפשר להשתמש בשיטה GET כדי לראות את נפח האחסון המינימלי של יעד המופע.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : השם של הפרויקט שבו נמצאת המכונה הראשית.
INSTANCE_ID : מזהה המכונה של המכונה הראשית.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /getDiskShrinkConfig
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
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 /getDiskShrinkConfig"
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 /getDiskShrinkConfig" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#instance",
"min_target_size_gb": "1234"
"message": "The size of your instance's storage impacts IOPS, and therefore shrinking your storage
may have a negative impact on IOPS. Before shrinking your storage, please refer to our
documentation on Cloud SQL limits to understand what impact shrinking your storage might have:
https://cloud.google.com/sql/docs/quotas#fixed-limits. Additionally, we recommend leaving an
appropriate buffer for operational purposes, like reindexing, etc. We recommend a buffer of at
least 100 GB or 20% more than current usage, whichever is larger. For more details, please refer
to: https://cloud.google.com/sql/docs/shared-responsibility. The estimated operation time is
20 minutes."
}
התשובה כוללת ערך של min_target_size_gb. אפשר להשתמש בערך הזה כדי לקבוע את הערך שרוצים להשתמש בו בפרמטר --storage-size כשמפעילים פעולת הקטנה של נפח האחסון.
התגובה כוללת גם הודעה עם זמן פעולה משוער, כמו בדוגמה הבאה:
...
"The estimated operation time is 20 minutes".
הקטנת נפח האחסון של המכונה.
הערה: האפשרות --storage-size נתמכת רק במופעים ראשיים או עצמאיים. אי אפשר להגדיר גודל אחסון יעד למופע משוכפל.
gcloud מריצים את הפקודה הבאה כדי לצמצם את נפח האחסון במופע:
gcloud sql instances perform-storage-shrink INSTANCE_NAME \
--storage-size= TARGET_STORAGE_SIZE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
TARGET_STORAGE_SIZE : נפח האחסון הרצוי ב-GB. לדוגמה, 100 GB.
REST v1
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט שבו נמצאת המכונה.
INSTANCE_ID : מזהה המכונה.
TARGET_STORAGE_SIZE : גודל האחסון הרצוי ב-GB.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /performDiskShrink
תוכן בקשת JSON:
{
"targetSizeGb": TARGET_STORAGE_SIZE
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
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 /performDiskShrink"
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 /performDiskShrink" | 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": "2019-09-25T22:19:33.735Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/operation-id",
"targetProject": "PROJECT_ID "
}
REST v1beta4
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט שבו נמצאת המכונה.
INSTANCE_ID : מזהה המכונה.
TARGET_STORAGE_SIZE : גודל האחסון של המכונה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /performDiskShrink
תוכן בקשת JSON:
{
"targetSizeGb": TARGET_STORAGE_SIZE
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
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 /performDiskShrink"
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 /performDiskShrink" | 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": "2019-09-25T22:19:33.735Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/operation-id",
"targetProject": "PROJECT_ID "
}
כדי לבדוק את הסטטוס של פעולת צמצום נפח האחסון, אפשר לעיין במאמר בנושא בדיקת הסטטוס של פעולה .
ביטול פעולה של הקטנת נפח האחסון
הערה: פעולות ביטול נתמכות רק במופעים ראשיים או במופעים עצמאיים.
מקבלים את מזהה הפעולה של הקטנת נפח האחסון.
כדי לאחזר את מזהה הפעולה, מריצים את פקודת list הבאה:
gcloud sql operations list
שליחת בקשת ביטול.
gcloud מריצים את הפקודה הבאה כדי לבטל את הבקשה:
gcloud sql operations cancel OPERATION_ID
מחליפים את מה שכתוב בשדות הבאים:
OPERATION_ID : המזהה של פעולת הכיווץ של נפח האחסון שרוצים לבטל.
REST v1
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט שבו נמצאת המכונה.
OPERATION_ID : המזהה של פעולת הכיווץ של נפח האחסון שרוצים לבטל.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID /cancel
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID /cancel"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID /cancel" | Select-Object -Expand Content
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
REST v1beta4
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט שבו נמצאת המכונה.
OPERATION_ID : המזהה של פעולת הכיווץ של נפח האחסון שרוצים לבטל.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID /cancel
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID /cancel"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID /cancel" | Select-Object -Expand Content
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
בדיקת הסטטוס של בקשה לביטול או של פעולה אחרת
כדי לבדוק את הסטטוס של בקשה, מריצים את הפקודות הבאות:
gcloud
מאחזרים את מזהה הפעולה של בקשת הביטול:
gcloud sql operations list
בודקים את סטטוס הפעולה:
gcloud sql operations describe OPERATION_ID
מחליפים את מה שכתוב בשדות הבאים:
OPERATION_ID : המזהה של הפעולה שרוצים לבדוק.
REST v1
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : השם של הפרויקט שבו נמצאת המכונה.
OPERATION_ID : המזהה של פעולת הכיווץ של נפח האחסון.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID "
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 /operations/OPERATION_ID " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2023-12-18T22:43:09.849Z",
"startTime": "2023-12-18T22:43:10.373Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "example_instance",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID"
}
REST v1beta4
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : השם של הפרויקט שבו נמצאת המכונה.
OPERATION_ID : המזהה של פעולת הכיווץ של נפח האחסון.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
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 /operations/OPERATION_ID "
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 /operations/OPERATION_ID " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2023-12-18T22:43:09.849Z",
"startTime": "2023-12-18T22:43:10.373Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "example_instance",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID"
}
פתרון בעיות
מידע על פתרון בעיות זמין במאמר בעיות בעדכון נפח האחסון .
המאמרים הבאים
שליחת משוב
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0 . לפרטים, ניתן לעיין במדיניות האתר Google Developers . Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-06-16 (שעון 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-06-16 (שעון UTC)."],[],[]]