En esta página, se describe cómo personalizar tu instalación de AlloyDB Omni, que se implementa a través de una imagen de contenedor que admite diferentes formas de personalización. En esta página, se muestran algunas personalizaciones comunes.
Activa un directorio de datos externo
De forma predeterminada, el comando de la Guía de inicio rápido: Instala AlloyDB Omni almacena los datos de la base de datos en un área administrada por Docker o Podman. Esto es conveniente para comenzar, pero dificulta encontrar y usar el directorio de datos. En su lugar, puedes configurar una activación de vinculación para asignar el directorio de datos a una ubicación conocida en tu 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
Reemplaza las siguientes variables:
CONTAINER_NAME: Es el nombre que usaste para tu contenedor. Por ejemplo,my-omni-1.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.DATA_DIR: Es la ruta de acceso del directorio host en el que se almacenan tus datos.HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.IMAGE_TAG: Usa16.3.0para la imagen más reciente de Debian o16.3.0-ubipara la imagen más reciente de UBI.
Habilita ulimits
Los parámetros ulimit especifican los límites de proceso que puede usar el contenedor de Docker o Podman. Para obtener un rendimiento óptimo, te recomendamos que establezcas los siguientes ulimits:
nice=-20:-20: AlloyDB Omni ajusta las prioridades de los procesos para permitir que los procesos críticos de PostgreSQL se ejecuten con mayor prioridad. La prioridad más alta les otorga a los procesos una mayor asignación de CPUs disponibles. Para ajustar las prioridades de los procesos, especifica--ulimit=nice=-20:-20, que quita las limitaciones del contenedor de AlloyDB Omni.memlock=-1:-1: AlloyDB Omni realiza la administración automática de la memoria. Si estableces--ulimit=memlock=-1:-1, la base de datos puede controlar mejor cómo se intercambian las páginas de memoria, lo que puede generar un mejor rendimiento.
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
Reemplaza las siguientes variables:
CONTAINER_NAME: Es el nombre que usaste para tu contenedor. Por ejemplo,my-omni-1.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.IMAGE_TAG: UsaAlloyDB Omnipara la imagen más reciente de Debian oAlloyDB Omni-ubipara la imagen más reciente de UBI.
Especifica un controlador de registro
De forma predeterminada, Docker y Podman no realizan rotaciones de registros. Esto puede usar mucho espacio en el disco y, finalmente, provocar el agotamiento del espacio en el disco. Para usar un controlador de registro diferente, puedes especificar el campo --log-driver. Por ejemplo, para registrarte en journald, haz lo siguiente:
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
Reemplaza las siguientes variables:
CONTAINER_NAME: Es el nombre que usaste para tu contenedor. Por ejemplo,my-omni-1.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.IMAGE_TAG: Usa16.3.0para la imagen más reciente de Debian o usa16.3.0-ubipara la imagen más reciente de UBI.
Para obtener más información sobre los controladores de registro, consulta la documentación de
Docker sobre cómo configurar controladores de registro
y la documentación de podman-run
de Podman.
Además, puedes configurar el registro con PostgreSQL. Para obtener más información, consulta Configura la rotación de registros de AlloyDB Omni.
Activa un volumen de memoria compartida
Si planeas usar el motor de columnas de AlloyDB con AlloyDB Omni, te recomendamos que pongas la memoria compartida a disposición del contenedor de AlloyDB Omni. El método para hacerlo difiere según el sistema operativo host, como se muestra en los siguientes ejemplos.
Linux
Para que la memoria compartida esté disponible para el contenedor, activa /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
Reemplaza las siguientes variables:
CONTAINER_NAME: Es el nombre que usaste para tu contenedor. Por ejemplo,my-omni-1.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.IMAGE_TAG: Usa16.3.0para la imagen más reciente de Debian o usa16.3.0-ubipara la imagen más reciente de UBI.
macOS
Para que la memoria compartida esté disponible para el contenedor, incluye la marca --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
Reemplaza las siguientes variables:
CONTAINER_NAME: Es el nombre que usaste para tu contenedor. Por ejemplo,my-omni-1.NEW_PASSWORD: Es la contraseña asignada al usuariopostgresdel contenedor nuevo después de su creación.SHARED_MEMORY_SIZE: Es el tamaño que se establecerá para/dev/shmen el contenedor, en el formato que se describe en Ejecuta contenedores. Por ejemplo, para especificar un gigabyte, usa el valor1g.HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor debe publicar su propio puerto5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión, especifica5432.IMAGE_TAG: Usa16.3.0para la imagen más reciente de Debian o16.3.0-ubipara la imagen más reciente de UBI.
Te recomendamos que establezcas el tamaño de la memoria compartida en una cantidad de megabytes igual a
al menos el valor de la marca
google_job_scheduler.max_parallel_workers_per_job de tu base de datos,
multiplicado por 250. Para obtener más información sobre el motor de columnas, consulta
Configura el motor de columnas en AlloyDB Omni.
Por ejemplo, si la marca de base de datos google_job_scheduler.max_parallel_workers_per_job está establecida en su valor predeterminado de 2, considera agregar una marca de --shm-size=500m o superior cuando inicies el servidor de la base de datos.
Para obtener más información sobre la marca --shm-size, consulta
Ejecuta contenedores.
Habilita extensiones
La lista de extensiones disponibles en AlloyDB Omni está disponible en Extensiones de base de datos compatibles. Aunque PostGIS y Orafce no se incluyen con AlloyDB Omni, se pueden instalar siguiendo las instrucciones:
Las extensiones instaladas se habilitan con las instrucciones estándar de CREATE EXTENSION
PostgreSQL, como se detalla en
Habilita una extensión.