עדכון מאפיינים של אשכול מסד נתונים

אתם יכולים לשנות את המאפיינים הבאים של אשכול מסד הנתונים באמצעות מסוף GDC או gdcloud CLI:

  • סיסמת מסד הנתונים של המשתמש עם הרשאת אדמין
  • חיבורים חיצוניים (מופעלים/מושבתים)
  • רמת הזמינות
  • הגיבוי מופעל ומספר ימי השמירה של הגיבוי
  • דגלים לניהול מסד נתונים
  • מעבד (CPU), זיכרון או נפח אחסון שמוקצים לאשכול מסד הנתונים

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

המסוף

זמינות גבוהה

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

הגנה על נתונים

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

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

קישוריות

בכל סוגי אשכולות מסדי הנתונים, אתם יכולים לבחור אם תהיה גישה לאשכול מסד הנתונים רק מתוך הפרויקט ב-GDC, או גם מחוץ לפרויקט:

  1. עוברים לקטע קישוריות ולוחצים על סמל העריכה עריכה.
  2. מעדכנים את הגדרות הקישוריות.
  3. לוחצים על Save כדי לעדכן את השינויים.

מכונות

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

  1. עוברים אל Primary Instance ולוחצים על סמל העריכה Edit.
  2. בוחרים בין הגדרות ביצועים גבוהים, רגיל, מינימום או בהתאמה אישית. האפשרות Custom מאפשרת לבחור את מספר המעבדים, הזיכרון והאחסון של המכונה הראשית.

  3. כדי לעדכן את המעבד (CPU), הזיכרון או האחסון של המכונה הראשית, צריך להפעיל אותה מחדש. כדי להחיל את השינויים, לוחצים על שמירה והפעלה מחדש.

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

gdcloud

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

gdcloud database clusters update CLUSTER_NAME [options]

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

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

gdcloud database clusters update --help

API

הגנה על נתונים

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

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: BackupPlan
metadata:
  name: DBCLUSTER_NAME-backupplan
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  backupRetainDays: RETENTION_DAYS

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

  • ‫DBCLUSTER_NAME: השם של אשכול מסד הנתונים שרוצים להפעיל בו את ההגנה על הנתונים.
  • ‫USER_PROJECT: השם של פרויקט המשתמש שבו ייווצר אשכול מסד הנתונים.
  • ‫RETENTION_DAYS: מספר הימים שבהם המפעיל שומר את הגיבוי הזה. הערך חייב להיות מספר שלם בין 1 ל-90.

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

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

איפוס סיסמה של משתמש אדמין

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

  1. יוצרים סוד לסיסמה.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    
  2. מתקנים את ה-DBCluster.

    kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"adminUser": {"passwordRef": {"name": "db-pw-DBCLUSTER_NAME"}}}}}' --type=merge -n USER_PROJECT
    

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

  • ‫DBCLUSTER_NAME: השם של אשכול מסד הנתונים.
  • ‫USER_PROJECT: שם הפרויקט של המשתמש שבו אשכול מסד הנתונים יעודכן.
  • ‫BASE64_PASSWORD: קידוד base64 של סיסמת האדמין של מסד הנתונים.

הסיסמה החדשה תיכנס לתוקף תוך כדקה.

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

קובצי האימג' של מסדי הנתונים שמגיעים עם GDC כוללים הגדרות ברירת מחדל. עם זאת, אתם יכולים להתאים אישית את המנוע של מסד הנתונים שמוגדר כברירת מחדל כדי לעמוד בדרישות של האפליקציות שלכם. באשכולות של מסדי נתונים יש דגלים מוגדרים מראש שאפשר להגדיר באמצעות מסוף GDC או gdcloud CLI:

המסוף

  1. בתפריט הניווט, בוחרים באפשרות Database Service.

  2. ברשימת אשכולות מסדי הנתונים, לוחצים על אשכול מסד הנתונים שרוצים להגדיר לו דגלים לניהול מסד נתונים.

  3. בקטע Instances in your database cluster, לוחצים על Edit Primary.

    עורכים את אשכול מסד הנתונים הראשי כדי להגדיר דגלים.

  4. בקטע Flags, לוחצים על Add a Database Flag.

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

  6. לוחצים על סיום.

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

  8. כדי לוודא שהדגל החדש הוגדר, חוזרים לקטע Instances in your database cluster באשכול מסד הנתונים ומוודאים שהדגל והערך החדשים מופיעים.

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

gdcloud

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

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

    gdcloud database clusters update CLUSTER_NAME \
        --database-flags DB_FLAGS
    

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

    • ‫CLUSTER_NAME: השם של אשכול מסד הנתונים.
    • ‫DB_FLAGS: רשימה מופרדת בפסיקים של דגלים לניהול מסד נתונים שצריך להגדיר במסד הנתונים שפועל באשכול מסדי הנתונים. כל דגל לניהול מסד נתונים וערך מוגדרים כצמד מפתח/ערך. אפשר להגדיר דגלים בלי ערך, בלי מחרוזת אחרי התו =.

    לדוגמה, הפקודה הבאה מגדירה כמה דגלים לניהול מסד הנתונים test-db-cluster:

    gdcloud database clusters update test-db-cluster \
        --database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1
    

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

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

    gdcloud database clusters update CLUSTER_NAME --clear-database-flags
    

    מחליפים את CLUSTER_NAME בשם של אשכול מסד הנתונים.

API

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

      kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"parameters": DB_FLAGS}}}' --type=merge -n USER_PROJECT
    

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

    • ‫DBCLUSTER_NAME: השם של אשכול מסד הנתונים.
    • ‫USER_PROJECT: השם של פרויקט המשתמש שבו נוצר אשכול מסד הנתונים.
    • ‫DB_FLAGS: הפרמטרים של הגדרות מסד הנתונים שצריך להוסיף או לעדכן. האובייקט צריך להיות בפורמט JSON של צמדי מפתח/ערך, שבהם המפתחות הם שמות הפרמטרים של מסד הנתונים והערכים הם ההגדרות שלהם. לדוגמה, הפקודה הבאה מגדירה כמה דגלים לניהול מסד נתונים:
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

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

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

    kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME --type=json -p='[{"op": "remove", "path": "/spec/primarySpec/parameters"}]' -n USER_PROJECT
    

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

    • ‫DBCLUSTER_NAME: השם של אשכול מסד הנתונים.
    • ‫USER_PROJECT: השם של פרויקט המשתמש שבו נוצר אשכול מסד הנתונים.

דגלים זמינים לניהול מסדי נתונים

דגל טווח סוג נדרשת הפעלה מחדש
google_columnar_engine.enabled מופעל, מושבת בוליאני TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] מספר שלם TRUE
anon.algorithm String לא נכון
anon.maskschema String לא נכון
anon.restrict_to_trusted_schemas מופעל, מושבת בוליאני לא נכון
anon.salt String לא נכון
anon.sourceschema String לא נכון
dbs.enable_anon on, off בוליאני TRUE
dbs.enable_pg_bigm on, off בוליאני TRUE
dbs.enable_pg_cron on, off בוליאני TRUE
dbs.enable_pg_hint_plan on, off בוליאני TRUE
dbs.enable_pg_squeeze on, off בוליאני TRUE
dbs.enable_pg_wait_sampling on, off בוליאני TRUE
pg_bigm.enable_recheck מופעל, מושבת בוליאני לא נכון
pg_bigm.gin_key_limit [0, 2147483647] מספר שלם לא נכון
pg_bigm.similarity_limit [0, 1] Float לא נכון
pg_hint_plan.debug_print off, on, detailed, verbose, 0, 1, 2, 3, no, yes, false, true טיפוסים בני מנייה (enum) TRUE
pg_hint_plan.enable_hint מופעל, מושבת בוליאני לא נכון
pg_hint_plan.enable_hint_table מופעל, מושבת בוליאני לא נכון
pg_hint_plan.message_level debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log טיפוסים בני מנייה (enum) לא נכון
pg_hint_plan.parse_messages debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log טיפוסים בני מנייה (enum) לא נכון
pg_stat_statements.max [100, 2147483647] מספר שלם TRUE
pg_stat_statements.save מופעל, מושבת בוליאני לא נכון
pg_stat_statements.track none, top, all טיפוסים בני מנייה (enum) לא נכון
pg_stat_statements.track_utility מופעל, מושבת בוליאני לא נכון
pg_wait_sampling.history_period [1, 2147483647] מספר שלם לא נכון
pg_wait_sampling.history_size [1, 2147483647] מספר שלם לא נכון
pg_wait_sampling.profile_period [1, 2147483647] מספר שלם לא נכון
pg_wait_sampling.profile_pid מופעל, מושבת בוליאני לא נכון
pg_wait_sampling.profile_queries מופעל, מושבת בוליאני לא נכון
pgaudit.log read, write, function, role, ddl, misc, misc_set,
all, none , -read, -write, -function, -role, -ddl,
-misc, -misc_set, -all, -none
מחרוזת חוזרת לא נכון
pgaudit.log_client מופעל, מושבת בוליאני לא נכון
pgaudit.log_parameter מופעל, מושבת בוליאני לא נכון
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
טיפוסים בני מנייה (enum) לא נכון
pgaudit.log_relation מופעל, מושבת בוליאני לא נכון
pgaudit.log_catalog מופעל, מושבת בוליאני לא נכון
pgaudit.role String לא נכון
pgaudit.log_statement_once מופעל, מושבת בוליאני לא נכון
pglogical.batch_inserts מופעל, מושבת בוליאני TRUE
pglogical.conflict_log_level debug5, debug4, debug3 , debug2, debug1 , info, notice , warning, error , log, fatal , panic טיפוסים בני מנייה (enum) לא נכון
pglogical.conflict_resolution error, apply_remote, keep_local, last_update_wins, first_update_wins טיפוסים בני מנייה (enum) לא נכון
pglogical.extra_connection_options String לא נכון
pglogical.synchronous_commit מופעל, מושבת בוליאני TRUE
pglogical.use_spi מופעל, מושבת בוליאני TRUE
pgtt.enabled מופעל, מושבת בוליאני לא נכון
plv8.execution_timeout [1, 65536] מספר שלם לא נכון
plv8.memory_limit [256, 3096] מספר שלם לא נכון
plv8.start_proc String לא נכון