הגדרת פרמטרים של מסד נתונים ב-AlloyDB Omni

בוחרים גרסת תיעוד:

כדי להגדיר פרמטר של מסד נתונים ב-AlloyDB Omni, אפשר לעדכן את הפרמטרים של Grand Unified Configuration (GUC) באחת מהדרכים הבאות:

  • הקובץ postgresql.conf לסביבות שבהן פועל AlloyDB Omni במכונה וירטואלית.

  • קובץ המניפסט של אשכול מסד הנתונים בסביבות שמופעל בהן AlloyDB Omni באשכול Kubernetes.

עדכון פרמטר ב-AlloyDB Omni בקונטיינר

ב-AlloyDB Omni שפועל במכונה וירטואלית, אפשר לעדכן פרמטר על ידי עריכת הקובץ postgresql.conf באופן הבא:

  1. מאתרים את קובץ התצורה postgresql.conf של ההתקנה של AlloyDB Omni.

  2. משתמשים בכלי לעריכת טקסט כדי להוסיף או לעדכן דגל של מסד נתונים ב-postgresql.conf.

    לדוגמה, כדי לאכוף את תפוגת הסיסמה, מגדירים את הדגל הבא בקובץ postgresql.conf:

    password.enforce_expiration = ON
    
  3. אחרי שמוסיפים או עורכים את הדגלים לניהול מסד הנתונים, צריך לטעון מחדש את הקובץ postgresql.conf כדי שהשינויים ייכנסו לתוקף. לדוגמה, אם התקנתם את AlloyDB Omni באמצעות Docker, מריצים את הפקודה הבאה כדי להפעיל מחדש את מופע Docker ולטעון מחדש את postgresql.conf:

    docker restart CONTAINER-NAME

מידע נוסף זמין בקטע הגדרת פרמטרים במסמכי התיעוד של PostgreSQL.

עדכון פרמטר ב-AlloyDB Omni באשכול Kubernetes

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

spec:
  primarySpec:
    parameters:
      "PARAMETER_NAME": "PARAMETER_VALUE"
      ...

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

  • ‫PARAMETER_NAME: שם הפרמטר, לדוגמה autovacuum.
  • ‫PARAMETER_VALUE: ערך הפרמטר. לדוגמה: off.

כדי שהשינויים בחלק מהפרמטרים ייכנסו לתוקף, צריך להפעיל מחדש את האשכול. אפשר לקבל רשימה של פרמטרים שדורשים הפעלה מחדש מתוך pg_catalog.pg_settings. כל פרמטר עם pg_catalog.pg_settings.context = 'postmaster' מחייב הפעלה מחדש.

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

‫
kubectl patch dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -p '{"spec":{"primarySpec":{"parameters": {"PARAMETER_NAME": "PARAMETER_VALUE"}}}}' --type=merge

הגדרות הפרמטרים נמצאות בחלק status של השדה currentParameters.

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

kubectl get dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -o jsonpath={.status.primary.currentParameters}

הפלט אמור להיראות כך:

{"autovacuum":"off","max_connections":"3000"}

אם AlloyDB Omni לא יכול להחיל את הפרמטרים שביקשתם במניפסט של אשכול מסד הנתונים, הערכים בשדה currentParameters יכולים להיות שונים מהערכים בשדה parameters של המניפסט. לדוגמה, אם אתם מחילים פרמטר שלא קיים או מגדירים ערך מחרוזת לפרמטר של מספר שלם.