בדף הזה מוסבר איך להתאים אישית את ההתקנה של AlloyDB Omni, שנפרסת באמצעות קובץ אימג' של קונטיינר שתומך בצורות שונות של התאמה אישית. בדף הזה מוצגות כמה התאמות אישיות נפוצות.
צירוף של ספריית נתונים חיצונית
כברירת מחדל, הפקודה שבמאמר הפעלה מהירה: התקנה של AlloyDB Omni מאחסנת את נתוני מסד הנתונים באזור שמנוהל על ידי Docker או Podman. השיטה הזו נוחה להתחלה, אבל קשה למצוא את ספריית הנתונים ולהשתמש בה. במקום זאת, אפשר להגדיר bind mount כדי למפות את ספריית הנתונים למיקום מוכר בדיסק.
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
מחליפים את המשתנים הבאים:
-
CONTAINER_NAME: השם שבו השתמשתם עבור מאגר התגים. לדוגמה,my-omni-1. -
NEW_PASSWORD: הסיסמה שמוקצית למשתמשpostgresשל מאגר התגים החדש אחרי שהוא נוצר. -
DATA_DIR: הנתיב לספריית המארח שבה הנתונים מאוחסנים. -
HOST_PORT: יציאת TCP במחשב המארח שאליה הקונטיינר צריך לפרסם את היציאה שלו5432. כדי להשתמש ביציאת ברירת המחדל של PostgreSQL במחשב המארח, מציינים5432. -
IMAGE_TAG: משתמשים ב-16.8.0לתמונת Debian העדכנית או ב-16.8.0-ubiלתמונת UBI העדכנית.
הפעלת ulimits
הפרמטרים של ulimit מציינים מגבלות על תהליכים שקונטיינר Docker או Podman יכול להשתמש בהן. כדי ליהנות מביצועים אופטימליים, מומלץ להגדיר את הערכים הבאים של ulimit:
nice=-20:-20: AlloyDB Omni משנה את סדרי העדיפויות של התהליכים כדי לאפשר לתהליכים קריטיים של PostgreSQL לפעול עם עדיפות גבוהה יותר. העדיפות הגבוהה יותר מקצה לתהליכים יותר מעבדים זמינים. כדי לשנות את רמות העדיפות של התהליכים, מציינים את--ulimit=nice=-20:-20, שמסיר את המגבלות של קונטיינר AlloyDB Omni.
memlock=-1:-1: ב-AlloyDB Omni מתבצע ניהול זיכרון אוטומטי. ההגדרה--ulimit=memlock=-1:-1מאפשרת למסד הנתונים לשלוט טוב יותר באופן ההחלפה של דפי הזיכרון, מה שיכול לשפר את הביצועים.
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
מחליפים את המשתנים הבאים:
-
CONTAINER_NAME: השם שבו השתמשתם עבור מאגר התגים. לדוגמה,my-omni-1. -
NEW_PASSWORD: הסיסמה שמוקצית למשתמשpostgresשל מאגר התגים החדש אחרי שהוא נוצר. -
HOST_PORT: יציאת TCP במחשב המארח שאליה הקונטיינר צריך לפרסם את היציאה שלו5432. כדי להשתמש ביציאת ברירת המחדל של PostgreSQL במחשב המארח, מציינים5432. -
IMAGE_TAG: משתמשים ב-AlloyDB Omniלתמונת Debian העדכנית או ב-AlloyDB Omni-ubiלתמונת UBI העדכנית.
ציון מנהל התקן לרישום ביומן
כברירת מחדל, Docker ו-Podman לא מבצעים רוטציה של יומנים. הפעולה הזו עלולה לתפוס הרבה מקום בדיסק, ובסופו של דבר לגרום לניצול מלא של נפח האחסון בדיסק. כדי להשתמש במנהל התקן אחר לרישום ביומן, אפשר לציין את השדה --log-driver. לדוגמה, כדי להיכנס ל-journald:
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --log-driver=journald \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --log-driver=journald \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --log-driver=journald \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --log-driver=journald \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
מחליפים את המשתנים הבאים:
-
CONTAINER_NAME: השם שבו השתמשתם עבור מאגר התגים. לדוגמה,my-omni-1. -
NEW_PASSWORD: הסיסמה שמוקצית למשתמשpostgresשל מאגר התגים החדש אחרי שהוא נוצר. -
HOST_PORT: יציאת TCP במחשב המארח שאליה הקונטיינר צריך לפרסם את היציאה שלו5432. כדי להשתמש ביציאת ברירת המחדל של PostgreSQL במחשב המארח, מציינים5432. -
IMAGE_TAG: משתמשים ב-16.8.0כדי לקבל את תמונת Debian העדכנית ביותר, או ב-16.8.0-ubiכדי לקבל את תמונת UBI העדכנית ביותר.
מידע נוסף על מנהלי התקנים של רישום ביומן זמין במאמרים Configure logging drivers של Docker ובמאמר podman-run של Podman.
צירוף של נפח זיכרון משותף
אם אתם מתכננים להשתמש במנוע מבוסס-העמודות של AlloyDB עם AlloyDB Omni, מומלץ להקצות זיכרון משותף לקונטיינר של AlloyDB Omni. השיטה לביצוע הפעולה הזו משתנה בהתאם למערכת ההפעלה של המארח, כמו שמוצג בדוגמאות הבאות.
Linux
כדי שהזיכרון המשותף יהיה זמין לקונטיינר, צריך לטעון את /dev/shm:
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v /dev/shm:/dev/shm \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v /dev/shm:/dev/shm \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v /dev/shm:/dev/shm \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v /dev/shm:/dev/shm \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
מחליפים את המשתנים הבאים:
-
CONTAINER_NAME: השם שבו השתמשתם עבור מאגר התגים. לדוגמה,my-omni-1. -
NEW_PASSWORD: הסיסמה שמוקצית למשתמשpostgresשל מאגר התגים החדש אחרי שהוא נוצר. -
HOST_PORT: יציאת TCP במחשב המארח שאליה הקונטיינר צריך לפרסם את היציאה שלו5432. כדי להשתמש ביציאת ברירת המחדל של PostgreSQL במחשב המארח, מציינים5432. -
IMAGE_TAG: משתמשים ב-16.8.0לתמונת Debian העדכנית או ב-16.8.0-ubiלתמונת UBI העדכנית.
macOS
כדי שהזיכרון המשותף יהיה זמין לקונטיינר, צריך לכלול את הדגל --shm-size:
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --shm-size=SHARED_MEMORY_SIZE \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --shm-size=SHARED_MEMORY_SIZE \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --shm-size=SHARED_MEMORY_SIZE \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --shm-size=SHARED_MEMORY_SIZE \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:IMAGE_TAG
מחליפים את המשתנים הבאים:
-
CONTAINER_NAME: השם שבו השתמשתם עבור מאגר התגים. לדוגמה,my-omni-1. -
NEW_PASSWORD: הסיסמה שמוקצית למשתמשpostgresשל מאגר התגים החדש אחרי שהוא נוצר. -
SHARED_MEMORY_SIZE: הגודל שיוגדר ל-/dev/shmבקונטיינר, בפורמט שמתואר במאמר בנושא הרצת קונטיינרים. לדוגמה, כדי לציין גיגה-בייט אחד, משתמשים בערך1g. -
HOST_PORT: יציאת TCP במחשב המארח שאליה הקונטיינר צריך לפרסם את היציאה שלו5432. כדי להשתמש ביציאת ברירת המחדל של PostgreSQL במחשב המארח, מציינים5432. -
IMAGE_TAG: משתמשים ב-16.8.0לתמונת Debian העדכנית או ב-16.8.0-ubiלתמונת UBI העדכנית.
מומלץ להגדיר את גודל הזיכרון המשותף למספר מגה-בייט ששווה לפחות לערך של מסד הנתונים שלכם של הדגל google_job_scheduler.max_parallel_workers_per_job כפול 250. מידע נוסף על מנוע מבוסס-עמודות זמין במאמר בנושא הגדרת מנוע מבוסס-עמודות ב-AlloyDB Omni.
לדוגמה, אם הדגל google_job_scheduler.max_parallel_workers_per_job database
מוגדר לערך ברירת המחדל שלו 2, כדאי להוסיף דגל של --shm-size=500m או יותר כשמפעילים את שרת מסד הנתונים.
מידע נוסף על הדגל --shm-size זמין במאמר הרצת קונטיינרים.
הפעלת תוספים
רשימת התוספים שזמינים ב-AlloyDB Omni מופיעה במאמר תוספי מסד נתונים נתמכים. PostGIS ו-Orafce לא כלולים ב-AlloyDB Omni, אבל אפשר להתקין אותם לפי ההוראות הבאות:
כדי להפעיל תוספים מותקנים, משתמשים בהצהרות סטנדרטיות של PostgreSQL CREATE EXTENSION
כפי שמפורט במאמר הפעלת תוסף.