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

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

בדף הזה מוסבר איך להגדיר פרמטרים של מסד נתונים באמצעות כלי התזמור של AlloyDB Omni.

פרמטרים של מסד נתונים, שנקראים גם פרמטרים של Grand Unified Configuration‏ (GUC), מאפשרים לכם לשפר את הביצועים וההתנהגות של אשכול מסד הנתונים של AlloyDB Omni. מידע נוסף מופיע במאמר הגדרת פרמטרים במסמכי התיעוד של PostgreSQL.

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

לפני שמגדירים פרמטרים של מסד נתונים, צריך לוודא שיש:

  1. התקנתם את כלי התזמור של AlloyDB Omni.
  2. הקצאנו ויצרנו את אשכול AlloyDB Omni.

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

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

עדכון מפרט המשאב

מוסיפים את הפרמטרים הנדרשים ואת הערכים שלהם למפרט של משאב DBCluster:

DBCluster:
  metadata:
    name: CLUSTER_NAME
  spec:
    primarySpec:
      # ... other settings ...
      parameters:
        max_wal_size: "MAX_WAL_SIZE"
        max_connections: "MAX_CONNECTIONS_LIMIT"

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

  • CLUSTER_NAME: השם של אשכול מסד הנתונים.
  • MAX_WAL_SIZE: הגודל המקסימלי שאליו יכול לגדול ה-WAL בין נקודות ביקורת אוטומטיות של ה-WAL, לדוגמה 2GB.
  • MAX_CONNECTIONS_LIMIT: המספר המקסימלי של חיבורים בו-זמניים שמותרים לשרת מסד הנתונים, לדוגמה, 200. הערך המינימלי הנתמך הוא 50.

פרמטרים נתמכים במהלך יצירת אשכול

אפשר להגדיר את הפרמטרים הבאים של מסד הנתונים (GUC) במפרט המשאבים במהלך יצירת האשכול:DBCluster

  • log_connections
  • log_disconnections
  • log_hostname
  • log_statement
  • max_connections
  • max_wal_size
  • huge_pages
  • tcp_keepalives_idle
  • tcp_keepalives_interval
  • tcp_keepalives_count

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

שימוש בתצורה

מחילים את השינויים באמצעות הממשק המועדף של כלי התזמור.

Ansible

ansible-playbook -i DEPLOYMENT_SPECIFICATION DBCLUSTER_PLAYBOOK -e resource_spec=DBCLUSTER_SPECIFICATION

מחליפים את המשתנים הבאים:

  • DEPLOYMENT_SPECIFICATION: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבים של AlloyDB Omni.

  • DBCLUSTER_PLAYBOOK: הנתיב ל-playbook שיצרתם לאשכול מסד הנתונים.

  • DBCLUSTER_SPECIFICATION: הנתיב למפרט האשכול.

alloydbctl

alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

מחליפים את המשתנים הבאים:

עדכון פרמטרים של מסד נתונים אחרי יצירת אשכול

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

עדכון פרמטרים באשכול עם זמינות גבוהה

כדי לעדכן באופן ידני פרמטרים של מסד נתונים באשכול זמינות גבוהה (HA), מבצעים את השלבים הבאים:

  1. אם הערכים של availability.enableAutoFailover ו-availability.enableAutoHeal מוגדרים כ-true בקובץ המפרט DBCluster, צריך להגדיר אותם כ-false.

    DBCluster:
      metadata:
        name: my-db-cluster
      spec:
        databaseVersion: 18.1.0
        mode: ""
        availability:
          ...
          enableAutoFailover: false
          enableAutoHeal: false
          ...
    

    מחילים את המפרט המעודכן של המשאב באמצעות הממשק המועדף.

  2. בכל צומת של מסד הנתונים, עורכים את הקובץ 30startup.conf בספרייה הבאה: DATA_DISK_PATH/18/db/postgresql.conf.d/.

    מחליפים את DATA_DISK_PATH בערך מהשדה path של הדיסק שנקרא DataDisk במפרט המשאב DBCluster.

    מפרט לדוגמה של DBCluster:

    DBCluster:
      spec:
        primarySpec:
          resources:
            disks:
            - name: DataDisk
              path: /var/lib/alloydbomni/data  # This is your DATA_DISK_PATH
    
  3. מוסיפים או מעדכנים את הגדרות הפרמטרים של מסד הנתונים בקובץ 30startup.conf. מידע נוסף זמין בתיעוד של PostgreSQL.

  4. מפעילים מחדש את שירות מסד הנתונים בכל הצמתים:

    sudo systemctl restart alloydbomni18
  5. אם שיניתם את השדות availability.enableAutoFailover ו-availability.enableAutoHeal במפרט של משאב DBCluster, צריך להחזיר אותם לערכים המקוריים ולהחיל את השינויים.

עדכון פרמטרים באשכול עצמאי

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

  1. בצומת מסד הנתונים, מעדכנים את הקובץ 30startup.conf בספרייה הבאה: DATA_DISK_PATH/18/db/postgresql.conf.d/.

    מחליפים את DATA_DISK_PATH בנתיב של מערכת הקבצים שהוגדר ל-DataDisk ב-DBCluster במפרט המשאבים.

  2. מוסיפים או מעדכנים את הגדרות הפרמטרים של מסד הנתונים בקובץ 30startup.conf.

  3. מפעילים מחדש את שירות מסד הנתונים:

    sudo systemctl restart alloydbomni18

אימות של שינויים בפרמטרים

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

SHOW PARAMETER_NAME;

מחליפים את PARAMETER_NAME בשם הפרמטר שהגדרתם.