O AlloyDB Omni é implementado através de uma imagem de contentor, o que permite diferentes formas de personalização. Esta página mostra algumas personalizações comuns.
Monte um diretório de dados externo
Por predefinição, o comando em Início rápido: instale o AlloyDB Omni armazena os dados da base de dados numa área gerida pelo Docker e pelo Podman. Isto é conveniente para começar, mas dificulta a localização e a utilização do diretório de dados. Em alternativa, pode configurar uma montagem de ligação para mapear o diretório de dados para uma localização conhecida no 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:latest
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:latest
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:latest
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:latest
Substitua as seguintes variáveis:
CONTAINER_NAME
: nome que usou para o seu contentor. Por exemplo,my-omni-1
.NEW_PASSWORD
: palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.DATA_DIR
: caminho do diretório do anfitrião onde os seus dados estão armazenados.HOST_PORT
: porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta5432
. Para usar a porta predefinida do PostgreSQL também na máquina anfitriã, especifique5432
.
Ative ulimits
Os parâmetros ulimit especificam os limites de processos que o contentor do Docker ou do Podman pode usar. Para um desempenho ideal, recomendamos que defina os seguintes ulimits:
nice=-20:-20
: o AlloyDB Omni ajusta as prioridades dos processos para permitir que os processos críticos do PostgreSQL sejam executados com maior prioridade. A prioridade mais elevada dá aos processos uma maior atribuição de CPUs disponíveis. Para ajustar as prioridades do processo, especifique--ulimit=nice=-20:-20
, que remove as limitações do contentor do AlloyDB Omni.memlock=-1:-1
: o AlloyDB Omni faz a gestão automática da memória. A definição de--ulimit=memlock=-1:-1
permite que a base de dados controle melhor a forma como as páginas de memória são trocadas, o que pode resultar num melhor desempenho.
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:latest
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:latest
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:latest
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:latest
Substitua as seguintes variáveis:
CONTAINER_NAME
: nome que usou para o seu contentor. Por exemplo,my-omni-1
.NEW_PASSWORD
: palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.HOST_PORT
: porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta5432
. Para usar a porta predefinida do PostgreSQL também na máquina anfitriã, especifique5432
.
Especifique um controlador de registo
Por predefinição, o Docker e o Podman não fazem rotações de registos. Esta ação pode consumir muito espaço em disco e, eventualmente, levar à exaustão do espaço em disco. Para usar um controlador de registo diferente, pode especificar o campo --log-driver
. Por exemplo, para registar em
journald
:
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --log-driver=journald \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --log-driver=journald \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
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:latest
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:latest
Substitua as seguintes variáveis:
CONTAINER_NAME
: nome que usou para o seu contentor. Por exemplo,my-omni-1
.NEW_PASSWORD
: palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.HOST_PORT
: porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta5432
. Para usar a porta predefinida do PostgreSQL também na máquina anfitriã, especifique5432
.
Para mais informações sobre os controladores de registo, consulte a documentação Configure logging drivers do Docker e a documentação podman-run
do Podman.
Além disso, pode configurar o registo através do PostgreSQL. Para mais informações, consulte o artigo Configure a rotação de registos do AlloyDB Omni.
Monte um volume de memória partilhada
Se planeia usar o motor de colunas do AlloyDB com o AlloyDB Omni, recomendamos que disponibilize memória partilhada ao contentor do AlloyDB Omni. O método para o fazer varia consoante o sistema operativo do anfitrião, conforme mostrado nos exemplos seguintes.
Linux
Para disponibilizar a memória partilhada ao contentor, monte /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:latest
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:latest
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:latest
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:latest
Substitua as seguintes variáveis:
CONTAINER_NAME
: nome que usou para o seu contentor. Por exemplo,my-omni-1
.NEW_PASSWORD
: palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.HOST_PORT
: porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta5432
. Para usar a porta predefinida do PostgreSQL também na máquina anfitriã, especifique5432
.
macOS
Para disponibilizar a memória partilhada ao contentor, inclua a 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:latest
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:latest
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:latest
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:latest
Substitua as seguintes variáveis:
CONTAINER_NAME
: nome que usou para o seu contentor. Por exemplo,my-omni-1
.NEW_PASSWORD
: palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.SHARED_MEMORY_SIZE
: tamanho a definir para/dev/shm
no contentor, no formato descrito em Executar contentores. Por exemplo, para especificar um gigabyte, use o valor1g
.HOST_PORT
: porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta5432
. Para usar a porta predefinida do PostgreSQL também na máquina anfitriã, especifique5432
.
Recomendamos que defina o tamanho da memória partilhada para um número de megabytes igual a, pelo menos, o valor do indicador google_job_scheduler.max_parallel_workers_per_job
da sua base de dados, multiplicado por 250. Para mais informações sobre o motor de colunas, consulte o artigo
Configure o motor de colunas no AlloyDB Omni.
Por exemplo, se a flag google_job_scheduler.max_parallel_workers_per_job
database
estiver definida para o valor predefinido de 2
, considere adicionar uma flag de --shm-size=500m
ou superior ao iniciar o servidor da base de dados.
Para mais informações sobre a flag --shm-size
, consulte o artigo
Executar contentores.
Ative extensões
A lista de extensões disponíveis no AlloyDB Omni está disponível em Extensões de base de dados suportadas. Embora o PostGIS e o Orafce não estejam incluídos no AlloyDB Omni, é possível instalá-los seguindo as instruções:
As extensões instaladas são ativadas através de declarações CREATE EXTENSION
padrão do PostgreSQL, conforme detalhado em
Ative uma extensão.