אימות של העברה

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

  1. מתחברים למכונה של Cloud SQL באמצעות כלי שבו אפשר להריץ פקודות SQL במסדי הנתונים שהועברו (לדוגמה, Cloud SQL Studio במסוף Google Cloud או ב-psql).

    למידע נוסף על התחברות למכונות Cloud SQL, קראו את המאמר אפשרויות התחברות במסמכי התיעוד של Cloud SQL.

  2. מריצים שאילתות SQL כדי לאמת את הנתונים שהועברו:

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

    מריצים את השאילתה הבאה כדי לוודא שמכונת היעד ב-Cloud SQL מכילה את כל מסדי הנתונים שהעברתם:

    SELECT datname FROM pg_database
    WHERE datistemplate = false;

    הצגת כל הטבלאות במסד נתונים

    מריצים את השאילתה הבאה כדי להציג את כל טבלאות המשתמשים במסד הנתונים:

    SELECT table_schema, table_name
    FROM information_schema.tables
    WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
      AND table_type = 'BASE TABLE'
    ORDER BY table_schema, table_name;

    בדיקת ההגדרות של העמודות בטבלה וסוגי הנתונים

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

    SELECT
      column_name,
      data_type,
      character_maximum_length,
      is_nullable,
      column_default
    FROM information_schema.columns
    WHERE table_name = 'TABLE_NAME'
    ORDER BY ordinal_position;

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

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

    1. בודקים את מספר השורות הכולל:
      SELECT COUNT(*) FROM TABLE_NAME;
    2. לצפייה בדוגמה של רשומות שהועברו:
      SELECT * FROM TABLE_NAME LIMIT 10;

    אימות של מפתחות ראשיים ואילוצים

    מריצים את השאילתה הבאה כדי לוודא שהמפתחות הראשיים, המפתחות הזרים והאילוצים הייחודיים נוצרו בצורה נכונה:

    SELECT
      table_schema,
      table_name,
      constraint_name,
      constraint_type
    FROM information_schema.table_constraints
    WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
    ORDER BY table_schema, table_name, constraint_type;

    אימות אינדקסים

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

    SELECT
      schemaname,
      tablename,
      indexname,
      indexdef
    FROM pg_indexes
    WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
    ORDER BY schemaname, tablename, indexname;

    אימות רצפים

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

    SELECT
      sequence_schema,
      sequence_name,
      data_type
    FROM information_schema.sequences
    ORDER BY sequence_schema, sequence_name;
  3. משווים בין התוצאות של השאילתות האלה לבין מסד הנתונים של המקור כדי לוודא שכל האובייקטים, ספירות השורות ומבני הסכימה תואמים.

אם כל מה שבדקתם תקין, סימן ש-Database Migration Service העביר את הנתונים בצורה נכונה.