הגדרת פרמטרים של מסד נתונים ב-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 במניפסט. לדוגמה, אם אתם מנסים להחיל פרמטר שלא קיים או להגדיר ערך מחרוזת לפרמטר מסוג מספר שלם.