Menyesuaikan penginstalan AlloyDB Omni

AlloyDB Omni di-deploy melalui image container, yang memungkinkan berbagai bentuk penyesuaian. Halaman ini menampilkan beberapa penyesuaian umum.

Memasang direktori data eksternal

Secara default, perintah di Panduan memulai: Menginstal AlloyDB Omni menyimpan data database di area yang dikelola oleh Docker dan Podman. Hal ini mudah untuk memulai, tetapi menyulitkan untuk menemukan dan menggunakan direktori data. Sebagai gantinya, Anda dapat menyiapkan mount bind untuk memetakan direktori data ke lokasi yang diketahui di disk.

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:latest
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:latest
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:latest
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:latest

Ganti variabel berikut:

  • CONTAINER_NAME: Nama yang Anda gunakan untuk penampung. Contoh, my-omni-1.
  • NEW_PASSWORD: Sandi yang ditetapkan ke pengguna postgres penampung baru setelah pembuatannya.
  • DATA_DIR: Jalur direktori host tempat data Anda disimpan.
  • HOST_PORT: Port TCP di mesin host tempat penampung harus memublikasikan port 5432-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

Mengaktifkan ulimits

Parameter ulimit menentukan batas proses yang dapat digunakan penampung Docker atau Podman. Untuk performa yang optimal, sebaiknya tetapkan ulimits berikut:

  • nice=-20:-20: AlloyDB Omni menyesuaikan prioritas proses untuk memungkinkan proses PostgreSQL penting berjalan dengan prioritas yang lebih tinggi. Prioritas yang lebih tinggi memberikan alokasi CPU yang lebih besar kepada proses. Untuk menyesuaikan prioritas proses, tentukan --ulimit=nice=-20:-20, yang menghapus batasan untuk penampung AlloyDB Omni.

  • memlock=-1:-1: AlloyDB Omni melakukan pengelolaan memori otomatis. Menetapkan --ulimit=memlock=-1:-1 memungkinkan database mengontrol cara page memori ditukar masuk dan keluar dengan lebih baik, yang dapat menghasilkan performa yang lebih baik.

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:latest
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:latest
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:latest
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:latest

Ganti variabel berikut:

  • CONTAINER_NAME: Nama yang Anda gunakan untuk penampung. Contoh, my-omni-1.
  • NEW_PASSWORD: Sandi yang ditetapkan ke pengguna postgres penampung baru setelah pembuatannya.
  • HOST_PORT: Port TCP di mesin host tempat penampung harus memublikasikan port 5432-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

Menentukan driver logging

Secara default, Docker dan Podman tidak melakukan rotasi log. Hal ini dapat menghabiskan banyak kapasitas disk, dan pada akhirnya menyebabkan kapasitas disk habis. Untuk menggunakan driver logging yang berbeda, Anda dapat menentukan kolom --log-driver. Misalnya, untuk mencatat ke journald:

docker run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 \
--restart=always \
google/alloydbomni:latest
docker run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 \
--restart=always \
google/alloydbomni:latest
podman run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 \
--restart=always \
docker.io/google/alloydbomni:latest
podman run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 \
--restart=always \
docker.io/google/alloydbomni:latest

Ganti variabel berikut:

  • CONTAINER_NAME: Nama yang Anda gunakan untuk penampung. Contoh, my-omni-1.
  • NEW_PASSWORD: Sandi yang ditetapkan ke pengguna postgres penampung baru setelah pembuatannya.
  • HOST_PORT: Port TCP di mesin host tempat penampung harus memublikasikan port 5432-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

Untuk informasi selengkapnya tentang driver logging, lihat dokumentasi Mengonfigurasi driver logging Docker dan podman-run Podman.

Selain itu, Anda dapat mengonfigurasi logging menggunakan PostgreSQL. Untuk informasi selengkapnya, lihat Mengonfigurasi rotasi log AlloyDB Omni.

Memasang volume memori bersama

Jika Anda berencana menggunakan mesin kolom AlloyDB dengan AlloyDB Omni, sebaiknya sediakan memori bersama untuk penampung AlloyDB Omni. Metode untuk melakukannya berbeda-beda, bergantung pada sistem operasi host Anda, seperti yang ditunjukkan dalam contoh berikut.

Linux

Agar memori bersama tersedia untuk penampung, pasang /dev/shm:

docker run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v /dev/shm:/dev/shm \
-p HOST_PORT:5432 \
--restart=always \
google/alloydbomni:latest
docker run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v /dev/shm:/dev/shm \
-p HOST_PORT:5432 \
--restart=always \
google/alloydbomni:latest
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:latest
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:latest

Ganti variabel berikut:

  • CONTAINER_NAME: Nama yang Anda gunakan untuk penampung. Contoh, my-omni-1.
  • NEW_PASSWORD: Sandi yang ditetapkan ke pengguna postgres penampung baru setelah pembuatannya.
  • HOST_PORT: Port TCP di mesin host tempat penampung harus memublikasikan port 5432-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

macOS

Agar memori bersama tersedia untuk penampung, sertakan tanda --shm-size:

docker run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--shm-size=SHARED_MEMORY_SIZE \
-p HOST_PORT:5432 \
--restart=always \
google/alloydbomni:latest
docker run -d --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--shm-size=SHARED_MEMORY_SIZE \
-p HOST_PORT:5432 \
--restart=always \
google/alloydbomni:latest
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:latest
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:latest

Ganti variabel berikut:

  • CONTAINER_NAME: Nama yang Anda gunakan untuk penampung. Contoh, my-omni-1.
  • NEW_PASSWORD: Sandi yang ditetapkan ke pengguna postgres penampung baru setelah pembuatannya.
  • SHARED_MEMORY_SIZE: Ukuran yang akan ditetapkan untuk /dev/shm di penampung, dalam format yang dijelaskan di Menjalankan penampung. Misalnya, untuk menentukan satu gigabyte, gunakan nilai 1g.
  • HOST_PORT: Port TCP di mesin host tempat penampung harus memublikasikan port 5432-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

Sebaiknya tetapkan ukuran memori bersama ke sejumlah megabyte yang sama dengan setidaknya nilai database Anda untuk flag google_job_scheduler.max_parallel_workers_per_job, dikalikan 250. Untuk informasi selengkapnya tentang mesin kolom, lihat Mengonfigurasi mesin kolom di AlloyDB Omni.

Misalnya, jika tanda database google_job_scheduler.max_parallel_workers_per_job ditetapkan ke nilai defaultnya, yaitu 2, sebaiknya tambahkan tanda --shm-size=500m atau yang lebih tinggi saat memulai server database.

Untuk mengetahui informasi selengkapnya tentang flag --shm-size, lihat Menjalankan penampung.

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 berikut:

Ekstensi yang diinstal diaktifkan menggunakan pernyataan CREATE EXTENSION PostgreSQL standar seperti yang dijelaskan dalam Mengaktifkan ekstensi.