Personalizzare l'installazione di AlloyDB Omni

Seleziona una versione della documentazione:

Questa pagina descrive come personalizzare l'installazione di AlloyDB Omni, che viene eseguita tramite un'immagine container che supporta diverse forme di personalizzazione. Questa pagina mostra alcune personalizzazioni comuni.

Montare una directory di dati esterni

Per impostazione predefinita, il comando in Guida rapida: installa AlloyDB Omni archivia i dati del database in un'area gestita da Docker o Podman. Questa operazione è comoda per iniziare, ma rende difficile trovare e utilizzare la directory dei dati. In alternativa, puoi configurare un montaggio di binding per mappare la directory dei dati a una posizione nota sul disco.

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

Sostituisci le seguenti variabili:

  • CONTAINER_NAME: nome utilizzato per il container. Ad esempio, my-omni-1.
  • NEW_PASSWORD: password assegnata all'utente postgres del nuovo container dopo la sua creazione.
  • DATA_DIR: percorso della directory host in cui sono archiviati i dati.
  • HOST_PORT: porta TCP sulla macchina host a cui il container deve pubblicare la propria porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica 5432.
  • IMAGE_TAG: utilizza 16.3.0 per l'ultima immagine Debian o 16.3.0-ubi per l'ultima immagine UBI.

Attivare ulimits

I parametri ulimit specificano i limiti di processo che il container Docker o Podman può utilizzare. Per prestazioni ottimali, ti consigliamo di impostare i seguenti ulimit:

  • nice=-20:-20: AlloyDB Omni regola le priorità dei processi per consentire ai processi PostgreSQL critici di essere eseguiti con una priorità più elevata. La priorità più alta assegna ai processi una maggiore allocazione delle CPU disponibili. Per regolare le priorità dei processi, specifica --ulimit=nice=-20:-20, che rimuove le limitazioni per il container AlloyDB Omni.

  • memlock=-1:-1: AlloyDB Omni esegue la gestione automatica della memoria. L'impostazione di --ulimit=memlock=-1:-1 consente al database di controllare meglio la modalità di swap delle pagine di memoria, il che può comportare un miglioramento delle prestazioni.

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

Sostituisci le seguenti variabili:

  • CONTAINER_NAME: nome utilizzato per il container. Ad esempio, my-omni-1.
  • NEW_PASSWORD: password assegnata all'utente postgres del nuovo container dopo la sua creazione.
  • HOST_PORT: porta TCP sulla macchina host a cui il container deve pubblicare la propria porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica 5432.
  • IMAGE_TAG: utilizza AlloyDB Omni per l'ultima immagine Debian o AlloyDB Omni-ubi per l'ultima immagine UBI.

Specificare un driver di logging

Per impostazione predefinita, Docker e Podman non eseguono rotazioni dei log. Questa operazione può utilizzare molto spazio su disco e, alla fine, portare all'esaurimento dello spazio su disco. Per utilizzare un driver di logging diverso, puoi specificare il campo --log-driver. Ad esempio, per eseguire il logging in 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

Sostituisci le seguenti variabili:

  • CONTAINER_NAME: nome utilizzato per il container. Ad esempio, my-omni-1.
  • NEW_PASSWORD: password assegnata all'utente postgres del nuovo container dopo la sua creazione.
  • HOST_PORT: porta TCP sulla macchina host a cui il container deve pubblicare la propria porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica 5432.
  • IMAGE_TAG: utilizza 16.3.0 per l'ultima immagine Debian o utilizza 16.3.0-ubi per l'ultima immagine UBI.

Per ulteriori informazioni sui driver di logging, consulta la documentazione di Docker relativa a Configurare i driver di logging e di Podman relativa a podman-run.

Inoltre, puoi configurare il logging utilizzando PostgreSQL. Per ulteriori informazioni, consulta Configurare la rotazione dei log di AlloyDB Omni.

Montare un volume di memoria condivisa

Se prevedi di utilizzare il motore colonnare AlloyDB con AlloyDB Omni, ti consigliiamo di rendere disponibile la memoria condivisa per il container AlloyDB Omni. Il metodo per farlo varia a seconda del sistema operativo host, come mostrato negli esempi seguenti.

Linux

Per rendere disponibile la memoria condivisa per il container, monta /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

Sostituisci le seguenti variabili:

  • CONTAINER_NAME: nome utilizzato per il container. Ad esempio, my-omni-1.
  • NEW_PASSWORD: password assegnata all'utente postgres del nuovo container dopo la sua creazione.
  • HOST_PORT: porta TCP sulla macchina host a cui il container deve pubblicare la propria porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica 5432.
  • IMAGE_TAG: utilizza 16.3.0 per l'ultima immagine Debian o utilizza 16.3.0-ubi per l'ultima immagine UBI.

macOS

Per rendere disponibile la memoria condivisa per il container, includi il 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

Sostituisci le seguenti variabili:

  • CONTAINER_NAME: nome utilizzato per il container. Ad esempio, my-omni-1.
  • NEW_PASSWORD: password assegnata all'utente postgres del nuovo container dopo la sua creazione.
  • SHARED_MEMORY_SIZE: dimensione da impostare per /dev/shm sul container, nel formato descritto in Esecuzione di container. Ad esempio, per specificare un gigabyte, utilizza il valore 1g.
  • HOST_PORT: porta TCP sulla macchina host a cui il container deve pubblicare la propria porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica 5432.
  • IMAGE_TAG: utilizza 16.3.0 per l'ultima immagine Debian o 16.3.0-ubi per l'ultima immagine UBI.

Ti consigliamo di impostare la dimensione della memoria condivisa su un numero di megabyte pari a almeno il valore del flag google_job_scheduler.max_parallel_workers_per_job del database, moltiplicato per 250. Per ulteriori informazioni sul motore colonnare, consulta Configurare il motore colonnare in AlloyDB Omni.

Ad esempio, se il flag del database google_job_scheduler.max_parallel_workers_per_job è impostato sul valore predefinito 2, valuta la possibilità di aggiungere un flag --shm-size=500m o superiore quando avvii il server di database.

Per ulteriori informazioni sul flag --shm-size, consulta Esecuzione di container.

Attivare le estensioni

L'elenco delle estensioni disponibili in AlloyDB Omni è disponibile in Estensioni di database supportate. Sebbene PostGIS e Orafce non siano inclusi in AlloyDB Omni, possono essere installati seguendo le istruzioni:

Le estensioni installate vengono attivate utilizzando le istruzioni CREATE EXTENSION di PostgreSQL standard, come descritto in Attivare un'estensione.