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

כדי לשנות את הפרמטרים של PostgreSQL, להתאים את האפשרויות של מסד הנתונים ולהתאים אישית את ההתנהגות של המכונה באשכול AlloyDB ל-PostgreSQL, אתם יכולים להוסיף, לשנות או להסיר דגלים לניהול מסד הנתונים במכונה. שינויים בערך של דגל לניהול מסד נתונים נשמרים במכונה עד שמסירים את הדגל או משנים שוב את הערך שלו.

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

אחרי שמגדירים, מסירים או משנים דגל של מכונה של מסד נתונים, יכול להיות ש-AlloyDB יפעיל מחדש את המכונה. זה תלוי בדגל, כמו שמופיע ברשימה של דגלים נתמכים לניהול מסדי נתונים.

כשמשנים דגל לניהול מסד נתונים במכונה הראשית או במכונה של מאגר קריאה שצריך להפעיל מחדש, אפשר לבחור אחת ממדיניות התחזוקה הבאות:

  • זמן השבתה קצר. המדיניות הזו מופעלת כברירת מחדל. מומלץ להשתמש במדיניות הזו בכל אשכולות הייצור של AlloyDB, כי היא מצמצמת את זמן ההשבתה של האפליקציה.

    כשהמדיניות "זמן השבתה קצר" מופעלת, עדכון של דגל שדורש הפעלה מחדש במכונה הראשית של האשכול משפיע באופן הבא:

    • ברוב עומסי העבודה, זמן ההשבתה של המכונה הראשית הוא פחות משנייה.

    • הדגל במכונה הראשית יסיים להתעדכן לערך החדש שלו אחרי כ-15 דקות.

    אם מעדכנים דגל שמחייב הפעלה מחדש במכונה של מאגר לקריאה בלבד, אלה ההשפעות:

    • אין צורך בזמן השבתה של המכונה של מאגר הקריאה.

    • הדגל במכונה של מאגר הקריאה יסיים להתעדכן לערך החדש אחרי כ-10 דקות.

  • הפעלה כפויה. כדי להחיל עדכוני דגלים מהר יותר, משתמשים באפשרות FORCE_APPLY עם הפקודה gcloud beta alloydb instances update.

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

    כשהמדיניות של הפעלה מאולצת מופעלת, עדכון של דגל שדורש הפעלה מחדש במכונה הראשית של האשכול גורם להשפעות הבאות:

    • המכונה הראשית מושבתת למשך כדקה.

    • הדגל במכונה הראשית יסיים להתעדכן לערך החדש שלו אחרי דקה או שתיים.

    אם מעדכנים דגל שמחייב הפעלה מחדש במכונה של מאגר לקריאה בלבד, אלה ההשפעות:

    • המכונה של מאגר הקריאה מושבתת למשך כדקה.

    • הדגל במכונה של מאגר הקריאה יסיים להתעדכן לערך החדש אחרי דקה או שתיים.

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

  • הפרויקט ב- Google Cloud שבו אתם משתמשים צריך להיות מוגדר עם גישה ל-AlloyDB.
  • בפרויקט ב- Google Cloud שבו אתם משתמשים, צריך להיות לכם אחד מתפקידי ה-IAM הבאים:
    • ‫roles/alloydb.admin (תפקיד IAM מוגדר מראש של אדמין ב-AlloyDB)
    • ‫roles/owner (תפקיד ה-IAM הבסיסי "בעלים")
    • ‫roles/editor (תפקיד העריכה הבסיסי ב-IAM)

    אם לא הוקצו לכם התפקידים האלה, פנו לאדמין הארגוני כדי לבקש גישה.

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

המסוף

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

    כניסה לדף Clusters

  2. לוחצים על אשכול בעמודה Resource Name.

  3. בדף Overview, עוברים לקטע Instances in your cluster, בוחרים מכונה ולוחצים על Edit.

  4. מרחיבים את הקטע Advanced configuration options.

  5. הוספה, שינוי או מחיקה של דגל לניהול מסד נתונים מהמכונה:

    הוספת דגל

    1. כדי להוסיף דגל לניהול מסד נתונים למכונה, לוחצים על Add flag.
    2. בוחרים דגל לניהול מסד נתונים מהרשימה New database flag.
    3. צריך לספק ערך לדגל.
    4. לוחצים על סיום.

    שינוי דגל

    1. כדי לשנות דגל לניהול מסד נתונים שקיים במכונה, מרחיבים את הדגל ומשנים את הערך שלו בקטע Edit database flag.
    2. לוחצים על סיום.

    מחיקת סימון

    1. כדי למחוק דגל לניהול מסד נתונים מהמכונה, בוחרים דגל ולוחצים על סמל המחיקה.
    2. לוחצים על סיום.
  6. לוחצים על Update instance.

gcloud

כדי לשנות את הדגלים לניהול מסד הנתונים של מכונה, משתמשים בפקודה gcloud alloydb instances update.

   gcloud alloydb instances update INSTANCE_ID \
   --database-flags FLAGS_LIST \
   --region=REGION_ID \
   --cluster=CLUSTER_ID \
   --project=PROJECT_ID

כדי להחיל עדכונים של דגלים מהר יותר, צריך לכלול את הארגומנט --update-mode=FORCE_APPLY. הפעולה הזו יכולה להפחית באופן זמני את הביצועים של מסד הנתונים, לכן כדאי להימנע משימוש באפשרות הזו בסביבת ייצור.

   gcloud beta alloydb instances update INSTANCE_ID \
   --database-flags FLAGS_LIST \
   --region=REGION_ID \
   --cluster=CLUSTER_ID \
   --project=PROJECT_ID \
   --update-mode=FORCE_APPLY

מחליפים את מה שכתוב בשדות הבאים:

  • ‫INSTANCE_ID: המזהה של המכונה.
  • ‫FLAGS_LIST: רשימה מופרדת בפסיקים של מפרט אחד או יותר של דגלים לניהול מסד נתונים. כל מפרט מורכב משם הדגל, סימן שוויון (=) והערך שיוקצה לדגלים. בדגלים לניהול מסדי נתונים שלא מקבלים ערכים, מציינים את שם הדגל ואחריו סימן שוויון (=).
  • ‫REGION_ID: האזור שבו נמצא המכונה, לדוגמה us-central1.
  • ‫CLUSTER_ID: המזהה של האשכול שבו נמצא המכונה.
  • ‫PROJECT_ID: מזהה הפרויקט שבו נמצא האשכול.

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

   gcloud alloydb instances describe INSTANCE_ID \
   --region=REGION_ID \
   --cluster=CLUSTER_ID \
   --project=PROJECT_ID

Terraform

כדי להגדיר דגלים לניהול מסד נתונים במכונה, מגדירים את השדה database_flags במשאב google_alloydb_instance. כדי להגדיר כמה דגלים לניהול מסד נתונים, מציינים את השם והערך של כל דגל כצמד מפתח/ערך במפה database_flags:

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "INSTANCE_ID"
  instance_type = "PRIMARY" # or "READ_POOL"

  machine_config {
    cpu_count = 4
  }

  database_flags = {
    "password.enforce_complexity" = "on"
    "log_min_error_statement"     = "error"
    "log_min_messages"            = "warning"
  }
}

מחליפים את INSTANCE_ID במזהה המכונה.