Halaman ini menjelaskan cara menyesuaikan penginstalan AlloyDB Omni, yang di-deploy melalui image container yang mendukung berbagai bentuk penyesuaian. Halaman ini menampilkan beberapa penyesuaian umum.
Memasang direktori data eksternal
Secara default, perintah di Mulai Cepat: Menginstal AlloyDB Omni menyimpan data database di area yang dikelola oleh Docker atau Podman. Hal ini memudahkan Anda untuk memulai, tetapi menyulitkan Anda menemukan dan menggunakan direktori data. Sebagai gantinya, Anda dapat menyiapkan pemasangan bind untuk memetakan direktori data ke lokasi yang diketahui di disk Anda.
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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah dibuat.DATA_DIR: Jalur direktori host tempat data Anda disimpan.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.IMAGE_TAG: Gunakan16.3.0untuk image Debian terbaru atau16.3.0-ubiuntuk image UBI terbaru.
Mengaktifkan ulimit
Parameter ulimit menentukan batas proses yang dapat digunakan oleh container Docker atau Podman. Untuk performa optimal, sebaiknya tetapkan ulimit berikut:
nice=-20:-20: AlloyDB Omni menyesuaikan prioritas proses untuk memungkinkan proses PostgreSQL penting berjalan dengan prioritas yang lebih tinggi. Prioritas yang lebih tinggi memberi proses alokasi CPU yang tersedia lebih besar. Untuk menyesuaikan prioritas proses, tentukan--ulimit=nice=-20:-20, yang menghapus batasan untuk container AlloyDB Omni.memlock=-1:-1: AlloyDB Omni melakukan pengelolaan memori otomatis. Menetapkan--ulimit=memlock=-1:-1memungkinkan database mengontrol dengan lebih baik cara halaman memori ditukar masuk dan keluar, yang dapat menghasilkan performa yang lebih baik.
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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah dibuat.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.IMAGE_TAG: GunakanAlloyDB Omniuntuk image Debian terbaru atauAlloyDB Omni-ubiuntuk image UBI terbaru.
Menentukan driver logging
Secara default, Docker dan Podman tidak melakukan rotasi log. Hal ini dapat menggunakan banyak ruang disk, dan pada akhirnya menyebabkan ruang disk habis. Untuk menggunakan driver logging yang berbeda, Anda dapat menentukan kolom --log-driver. Misalnya, untuk mencatat log ke 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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah dibuat.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.IMAGE_TAG: Gunakan16.3.0untuk image Debian terbaru atau gunakan16.3.0-ubiuntuk image UBI terbaru.
Untuk mengetahui informasi selengkapnya tentang driver logging, lihat
dokumentasi Mengonfigurasi driver logging Docker
dan
podman-run Podman.
Selain itu, Anda dapat mengonfigurasi logging menggunakan PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi rotasi log AlloyDB Omni.
Memasang volume memori bersama
Jika Anda berencana menggunakan AlloyDB columnar engine dengan AlloyDB Omni, sebaiknya sediakan memori bersama untuk container AlloyDB Omni. Metode untuk melakukannya berbeda-beda, bergantung pada sistem operasi host Anda, seperti yang ditunjukkan dalam contoh berikut.
Linux
Untuk menyediakan memori bersama ke container, pasang /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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah dibuat.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.IMAGE_TAG: Gunakan16.3.0untuk image Debian terbaru atau gunakan16.3.0-ubiuntuk image UBI terbaru.
macOS
Untuk menyediakan memori bersama ke container, sertakan flag --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
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah dibuat.SHARED_MEMORY_SIZE: Ukuran yang akan ditetapkan untuk/dev/shmdi container, dalam format yang dijelaskan di Menjalankan container. Misalnya, untuk menentukan satu gigabyte, gunakan nilai1g.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.IMAGE_TAG: Gunakan16.3.0untuk image Debian terbaru atau16.3.0-ubiuntuk image UBI terbaru.
Sebaiknya tetapkan ukuran memori bersama ke jumlah megabyte yang sama dengan
setidaknya nilai database Anda dari flag
google_job_scheduler.max_parallel_workers_per_job,
dikalikan 250. Untuk mengetahui informasi selengkapnya tentang columnar engine, lihat
Mengonfigurasi columnar engine di AlloyDB Omni.
Misalnya, jika flag database google_job_scheduler.max_parallel_workers_per_job ditetapkan ke nilai default 2, pertimbangkan untuk menambahkan flag --shm-size=500m atau yang lebih besar saat memulai server database Anda.
Untuk mengetahui informasi selengkapnya tentang flag --shm-size, lihat
Menjalankan container.
Mengaktifkan ekstensi
Daftar ekstensi yang tersedia di AlloyDB Omni tersedia di Ekstensi database yang didukung. Meskipun PostGIS dan Orafce tidak disertakan dengan AlloyDB Omni, keduanya dapat diinstal dengan mengikuti petunjuk:
Ekstensi yang diinstal diaktifkan menggunakan CREATE EXTENSION
pernyataan PostgreSQL standar seperti yang dijelaskan di
Mengaktifkan ekstensi.