אתם יכולים להשתמש ב-Datastream כדי להעביר עדכונים של מעקב אחר שינויים בנתונים (CDC) ממסד נתונים של Cloud SQL ל-PostgreSQL ליעדים נתמכים, כמו BigQuery או Cloud Storage. כדי להכין את מופע המקור, מפעילים את הדגל cloudsql.logical_decoding, יוצרים פרסום ומשבצת שכפול ומגדירים משתמש Datastream.
הפעלת שכפול לוגי
עוברים אל Cloud SQL במסוף Google Cloud .
פותחים את המכונה של Cloud SQL ולוחצים על EDIT.
עוברים לקטע דגלים.
לוחצים על הוספת דגל.
בוחרים את הדגל של
cloudsql.logical_decodingבתפריט הנפתח.מגדירים את ערך הדגל ל-on.
לוחצים על שמירה כדי לשמור את השינויים. כדי לעדכן את המכונה בשינויים, צריך להפעיל אותה מחדש.
אחרי שהמכונה הופעלה מחדש, מאשרים את השינויים בקטע דגלים לניהול מסד נתונים בדף סקירה כללית.
יצירה של פרסום ושל משבצת שכפול
מתחברים למסד הנתונים כמשתמש עם הרשאות מספיקות ליצירת משבצת שכפול. אם לא, מריצים את הפקודה הבאה:
ALTER USER USER_NAME WITH REPLICATION;
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: השם של המשתמש שרוצים לתת לו הרשאות שכפול.
יוצרים אתר חדשות. מומלץ ליצור פרסום רק עבור הטבלאות שרוצים לשכפל. כך Datastream יכול לקרוא רק את הנתונים הרלוונטיים, והעומס על מסד הנתונים ועל Datastream יורד:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
מחליפים את מה שכתוב בשדות הבאים:
- PUBLICATION_NAME: שם הפרסום. תצטרכו לספק את השם הזה כשתיצרו מקור נתונים באשף ליצירת מקור נתונים של Datastream.
- SCHEMA: שם הסכימה שמכילה את הטבלה.
- TABLE: שם הטבלה שרוצים לשכפל.
אפשר גם ליצור פרסום לכל הטבלאות במסד הנתונים. הערה: הגישה הזו מגדילה את העומס גם על מסד הנתונים של המקור וגם על Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
כדי ליצור משבצת רפליקציה, מזינים את פקודת ה-SQL הבאה:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');מחליפים את מה שכתוב בשדות הבאים:
- REPLICATION_SLOT_NAME: השם של מיקום הרפליקציה. תצטרכו לציין את השם הזה כשתיצרו מקור נתונים באשף ליצירת מקור נתונים של Datastream.
יצירת משתמש Datastream
מתחברים למסד הנתונים באמצעות לקוח PostgreSQL.
מזינים את הפקודה הבאה של PostgreSQL:
CREATE USER USER_NAME WITH REPLICATION LOGIN PASSWORD 'USER_PASSWORD';
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: השם של משתמש Datastream שרוצים ליצור.
- USER_PASSWORD: סיסמת הכניסה של משתמש Datastream שרוצים ליצור.
נותנים למשתמש שיצרתם את ההרשאות הבאות:
GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME; GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;מחליפים את מה שכתוב בשדות הבאים:
- SCHEMA_NAME: שם הסכימה שרוצים לתת לה את ההרשאות.
- USER_NAME: המשתמש שרוצים לתת לו את ההרשאות.