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