המגבלות הידועות על שימוש במסד נתונים של PostgreSQL כמקור כוללות:
התוסף
pglogicalלא תומך בשכפול של עמודות שנוצרו ב-PostgreSQL 12 ואילך.שינויים במבני טבלאות (DDL) לא משוכפלים באמצעות פקודות DDL רגילות, אלא רק באמצעות פקודות שמופעלות באמצעות התוסף
pglogicalשמשמש לשכפול. זה כולל שינויים בסוגיenum.לדוגמה,
pglogicalמספק פונקציהpglogical.replicate_ddl_commandשמאפשרת להריץ DDL גם במסד הנתונים של המקור וגם בעותק המשוכפל בנקודה עקבית. המשתמש שמריץ את הפקודה הזו במקור חייב להיות קיים כבר בעותק.כדי לשכפל נתונים לטבלאות חדשות, צריך להשתמש בפקודה
pglogical.replication_set_add_tableכדי להוסיף את הטבלאות החדשות לקבוצות שכפול קיימות.מידע נוסף על שכפול DDL בזמן שההעברה מתבצעת זמין בקטע בנושא דיוק ההעברה.
בטבלאות שאין להן מפתחות ראשיים, Database Migration Service תומך בהעברה של התמונה הראשונית ושל הצהרות
INSERTבמהלך השלב של סימון נתונים שהשתנו (CDC). מומלץ להעביר את הדוחותUPDATEו-DELETEבאופן ידני.Database Migration Service לא מעביר נתונים מתצוגות חומריות, אלא רק את סכימת התצוגה. כדי לאכלס את התצוגות, מריצים את הפקודה הבאה:
REFRESH MATERIALIZED VIEW view_name.המצבים של
SEQUENCE(לדוגמה,last_value) ביעד החדש של AlloyDB עשויים להיות שונים מהמצבים שלSEQUENCEבמקור.אי אפשר לשכפל את הטבלאות
UNLOGGEDו-TEMPORARY.סוג הנתונים Large Object לא נתמך. פרטים נוספים זמינים בקטע בנושא דיוק ההעברה.
אפשר להעביר רק תוספים ושפות פרוצדורליות שנתמכים ב-AlloyDB ל-PostgreSQL.
Database Migration Service לא תומך בהעברה מרפליקות לקריאה שנמצאות במצב שחזור (recovery).
Database Migration Service לא תומך במקורות Amazon RDS שבהם מוחל חבילת ההרחבות של AWS SCT.
אי אפשר להעביר פונקציות שהוגדרו על ידי המשתמש ונכתבו ב-C, למעט פונקציות שמותקנות במסד הנתונים של PostgreSQL כשמתקינים תוספים שנתמכים על ידי AlloyDB.
אם קיימות הרחבות ושפות פרוצדורליות אחרות במסד הנתונים של המקור, או אם הגרסאות שלהן לא נתמכות, אז כשבודקים או מתחילים את משימת ההעברה, היא תיכשל.
מסדי נתונים שנוספים אחרי שמשימת ההעברה מתחילה לא מועברים.
כשמבצעים העברה באמצעות Database Migration Service, אי אפשר לבחור טבלאות או סכימות ספציפיות. Database Migration Service מעביר את כל הטבלאות והסכימות, למעט אלה:
- סכימת המידע (
information_schema). - כל הטבלאות שמתחילות ב-
pg, לדוגמה,pg_catalog. לרשימה המלאה של קטלוגים של PostgreSQL שמתחילים ב-pg, אפשר לעיין בקטלוגים של מערכת PostgreSQL במסמכי התיעוד של PostgreSQL. - מידע על משתמשים ותפקידי משתמשים לא מועבר.
- סכימת המידע (
אם מסדי נתונים מוצפנים דורשים מפתחי הצפנה בניהול הלקוח כדי לפענח את מסדי הנתונים, ול-Database Migration Service אין גישה למפתחות, אי אפשר להעביר את מסדי הנתונים.
עם זאת, אם נתוני הלקוחות מוצפנים באמצעות התוסף
pgcrypto, אפשר להעביר את הנתונים באמצעות Database Migration Service (כי AlloyDB ל-PostgreSQL תומך בתוסף).Database Migration Service תומך גם בהעברת נתונים ממסדי נתונים מוצפנים של Amazon Aurora או Amazon RDS, כי מסדי הנתונים האלה מטפלים בפענוח באופן שקוף בשירותים שלהם. מידע נוסף זמין במאמרים בנושא הצפנת משאבי Amazon Aurora והצפנת משאבי Amazon RDS.
במהלך ההעברה, אפשר לכתוב במסד הנתונים של היעד AlloyDB ל-PostgreSQL כדי לאפשר החלה של שינויים ב-DDL אם צריך. חשוב לא לבצע שינויים בהגדרות של מסד הנתונים או במבני הטבלאות, כי שינויים כאלה עלולים לשבש את תהליך ההעברה או לפגוע בשלמות הנתונים.
ההתנהגות של הטריגרים תלויה באופן שבו הם הוגדרו. ההתנהגות שמוגדרת כברירת מחדל היא שהטריגרים לא יופעלו, אבל אם הם הוגדרו באמצעות ההצהרה
ALTER EVENT TRIGGERאוALTER TABLEומצב הטריגר מוגדר כ-replica או כ-always, הם יופעלו ברפליקה במהלך השכפול.פונקציות עם מגדיר אבטחה ייצרו על ידי
alloydbexternalsyncב-AlloyDB primary. כשמשתמשים מריצים אותו, הוא מורץ עם ההרשאות שלalloydbexternalsyncשיש לו תפקידיםalloydbsuperuserו-alloydbreplica. עדיף להגביל את השימוש בפונקציית מגדיר האבטחה רק לחלק מהמשתמשים. כדי לעשות זאת, המשתמש צריך לבטל את הרשאות הגישה הציבוריות שמוגדרות כברירת מחדל, ואז להעניק הרשאת הפעלה באופן סלקטיבי.שיטת הקישוריות של ממשקי Private Service Connect נתמכת רק להעברה למכונות יעד קיימות. אם רוצים להשתמש בקישוריות של כתובות IP פרטיות ולבצע העברה למופע יעד חדש, צריך להשתמש בקישור בין רשתות VPC שכנות (peering).
מגבלות בהעברות לאשכולות יעד קיימים
- אפשר להגדיר רק משימת העברה פעילה אחת לכל אשכול יעד.
- אשכול היעד הקיים צריך להיות ריק או להכיל רק נתוני הגדרת מערכת. אין תמיכה בהעברה לאשכול יעד קיים שמכיל נתוני משתמשים (כמו טבלאות).
- יש תמיכה בהעברה לאשכולות עם מופעים של מאגר קריאה.
מידע נוסף על אשכולות ומכונות של AlloyDB ל-PostgreSQL זמין בסקירה הכללית של AlloyDB ל-PostgreSQL.
מכסות
- יכולים להיות עד 2,000 פרופילים של חיבורים ו-1,000 משימות העברה בכל זמן נתון. כדי לפנות מקום לעוד משימות העברה (כולל משימות שהושלמו) ופרופילים של חיבורים, אפשר למחוק אותם.