Cette page explique comment personnaliser votre installation AlloyDB Omni, qui est déployée via une image de conteneur compatible avec différentes formes de personnalisation. Cette page présente quelques personnalisations courantes.
Installer un répertoire de données externe
Par défaut, la commande de Démarrage rapide : Installer AlloyDB Omni stocke les données de la base de données dans une zone gérée par Docker ou Podman. C'est pratique pour commencer, mais cela rend difficile la recherche et l'utilisation du répertoire de données. À la place, vous pouvez configurer un montage de liaison pour mapper le répertoire de données à un emplacement connu sur votre disque.
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
Remplacez les variables suivantes :
CONTAINER_NAME
: nom que vous avez utilisé pour votre conteneur. Exemple :my-omni-1
.NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.DATA_DIR
: chemin d'accès au répertoire hôte dans lequel vos données sont stockées.HOST_PORT
: port TCP sur la machine hôte sur lequel le conteneur doit publier son propre port5432
. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez5432
.IMAGE_TAG
: utilisez15.7.1
pour la dernière image Debian ou15.7.1-ubi
pour la dernière image UBI.
Activer les limites utilisateur
Les paramètres ulimit spécifient les limites de processus que le conteneur Docker ou Podman peut utiliser. Pour des performances optimales, nous vous recommandons de définir les ulimits suivants :
nice=-20:-20
: AlloyDB Omni ajuste les priorités des processus pour permettre aux processus PostgreSQL critiques de s'exécuter avec une priorité plus élevée. La priorité plus élevée accorde aux processus une plus grande allocation de processeurs disponibles. Pour ajuster les priorités des processus, spécifiez--ulimit=nice=-20:-20
, ce qui supprime les limites pour le conteneur AlloyDB Omni.memlock=-1:-1
: AlloyDB Omni effectue une gestion automatique de la mémoire. Définir--ulimit=memlock=-1:-1
permet à la base de données de mieux contrôler la façon dont les pages de mémoire sont échangées, ce qui peut améliorer les performances.
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
Remplacez les variables suivantes :
CONTAINER_NAME
: nom que vous avez utilisé pour votre conteneur. Exemple :my-omni-1
.NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.HOST_PORT
: port TCP sur la machine hôte sur lequel le conteneur doit publier son propre port5432
. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez5432
.IMAGE_TAG
: utilisezAlloyDB Omni
pour la dernière image Debian ouAlloyDB Omni-ubi
pour la dernière image UBI.
Spécifier un pilote de journalisation
Par défaut, Docker et Podman n'effectuent pas de rotation des journaux. Cela peut utiliser beaucoup d'espace disque et finir par le saturer. Pour utiliser un autre pilote de journalisation, vous pouvez spécifier le champ --log-driver
. Par exemple, pour consigner des informations dans 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
Remplacez les variables suivantes :
CONTAINER_NAME
: nom que vous avez utilisé pour votre conteneur. Exemple :my-omni-1
.NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.HOST_PORT
: port TCP sur la machine hôte sur lequel le conteneur doit publier son propre port5432
. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez5432
.IMAGE_TAG
: utilisez15.7.1
pour la dernière image Debian ou15.7.1-ubi
pour la dernière image UBI.
Pour en savoir plus sur les pilotes de journalisation, consultez la documentation de Docker Configurer les pilotes de journalisation et de Podman podman-run
.
Vous pouvez également configurer la journalisation à l'aide de PostgreSQL. Pour en savoir plus, consultez Configurer la rotation des journaux AlloyDB Omni.
Installer un volume de mémoire partagée
Si vous prévoyez d'utiliser le moteur de données en colonnes AlloyDB avec AlloyDB Omni, nous vous recommandons de mettre de la mémoire partagée à la disposition du conteneur AlloyDB Omni. La méthode pour ce faire diffère selon votre système d'exploitation hôte, comme illustré dans les exemples suivants.
Linux
Pour rendre la mémoire partagée disponible pour le conteneur, installez /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
Remplacez les variables suivantes :
CONTAINER_NAME
: nom que vous avez utilisé pour votre conteneur. Exemple :my-omni-1
.NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.HOST_PORT
: port TCP sur la machine hôte sur lequel le conteneur doit publier son propre port5432
. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez5432
.IMAGE_TAG
: utilisez15.7.1
pour la dernière image Debian ou15.7.1-ubi
pour la dernière image UBI.
macOS
Pour rendre la mémoire partagée disponible pour le conteneur, incluez l'indicateur --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
Remplacez les variables suivantes :
CONTAINER_NAME
: nom que vous avez utilisé pour votre conteneur. Exemple :my-omni-1
.NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.SHARED_MEMORY_SIZE
: taille à définir pour/dev/shm
sur le conteneur, au format décrit dans Exécuter des conteneurs. Par exemple, pour spécifier un gigaoctet, utilisez la valeur1g
.HOST_PORT
: port TCP sur la machine hôte sur lequel le conteneur doit publier son propre port5432
. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez5432
.IMAGE_TAG
: utilisez15.7.1
pour la dernière image Debian ou15.7.1-ubi
pour la dernière image UBI.
Nous vous recommandons de définir la taille de la mémoire partagée sur un nombre de mégaoctets égal à au moins la valeur de l'option google_job_scheduler.max_parallel_workers_per_job
de votre base de données, multipliée par 250. Pour en savoir plus sur le moteur de données en colonnes, consultez Configurer le moteur de données en colonnes dans AlloyDB Omni.
Par exemple, si l'indicateur de base de données google_job_scheduler.max_parallel_workers_per_job
est défini sur sa valeur par défaut (2
), envisagez d'ajouter un indicateur de --shm-size=500m
ou plus lorsque vous démarrez votre serveur de base de données.
Pour en savoir plus sur l'indicateur --shm-size
, consultez Exécuter des conteneurs.
Activer les extensions
La liste des extensions disponibles dans AlloyDB Omni est disponible dans Extensions de base de données compatibles. Bien que PostGIS et Orafce ne soient pas inclus dans AlloyDB Omni, vous pouvez les installer en suivant les instructions suivantes :
Les extensions installées sont activées à l'aide d'instructions CREATE EXTENSION
PostgreSQL standards, comme indiqué dans Activer une extension.