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

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

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

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

המסוף

זמינות גבוהה

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

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

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

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

קישוריות

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

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

מכונות

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

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

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

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

gdcloud CLI

כדי לעדכן אשכול מסדי נתונים, משתמשים בפקודה הבאה: sh gdcloud database clusters update CLUSTER_NAME [options]

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

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

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

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

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

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 ספירה 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 ספירה לא נכון
pg_hint_plan.parse_messages debug5, ‏ debug4, ‏ debug3, ‏ debug2, ‏ debug1, ‏ debug, ‏ info, ‏ notice, ‏ warning, ‏ error, ‏ log ספירה לא נכון
pg_stat_statements.max ‫[100, 2147483647] מספר שלם TRUE
pg_stat_statements.save מופעלת, מושבתת בוליאני לא נכון
pg_stat_statements.track ללא, עליון, כל ספירה לא נכון
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
ספירה לא נכון
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 ספירה לא נכון
pglogical.conflict_resolution error, apply_remote, keep_local, last_update_wins, first_update_wins ספירה לא נכון
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 לא נכון