AlloyDB Omni wird über ein Container-Image bereitgestellt, was verschiedene Anpassungsmöglichkeiten ermöglicht. Auf dieser Seite finden Sie einige gängige Anpassungen.
Externes Datenverzeichnis bereitstellen
Standardmäßig werden die Datenbankdaten durch den Befehl in der Kurzanleitung: AlloyDB Omni installieren in einem von Docker und Podman verwalteten Bereich gespeichert. Das ist zwar praktisch für den Einstieg, erschwert aber das Auffinden und Verwenden des Datenverzeichnisses. Stattdessen können Sie eine Bindung einrichten, um das Datenverzeichnis einem bekannten Speicherort auf dem Laufwerk zuzuordnen.
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
Ersetzen Sie die folgenden Variablen:
CONTAINER_NAME
: Der Name, den Sie für Ihren Container verwendet haben. Beispiel:my-omni-1
NEW_PASSWORD
: Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.DATA_DIR
: Pfad zum Hostverzeichnis, in dem Ihre Daten gespeichert sind.HOST_PORT
: TCP-Port auf dem Hostcomputer, unter dem der Container seinen eigenen Port5432
veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Ulimits aktivieren
Die ulimit-Parameter geben Prozesslimits an, die der Docker- oder Podman-Container verwenden kann. Für eine optimale Leistung empfehlen wir die folgenden Ulimits:
nice=-20:-20
: AlloyDB Omni passt die Prozessprioritäten an, damit kritische PostgreSQL-Prozesse mit höherer Priorität ausgeführt werden können. Je höher die Priorität, desto mehr verfügbare CPUs werden den Prozessen zugewiesen. Wenn Sie die Prozessprioritäten anpassen möchten, geben Sie--ulimit=nice=-20:-20
an. Dadurch werden Einschränkungen für den AlloyDB Omni-Container aufgehoben.memlock=-1:-1
: AlloyDB Omni führt eine automatische Speicherverwaltung durch. Mit der Einstellung--ulimit=memlock=-1:-1
kann die Datenbank besser steuern, wie Arbeitsspeicherseiten ein- und ausgelagert werden. Dies kann zu einer besseren Leistung führen.
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
Ersetzen Sie die folgenden Variablen:
CONTAINER_NAME
: Der Name, den Sie für Ihren Container verwendet haben. Beispiel:my-omni-1
NEW_PASSWORD
: Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.HOST_PORT
: TCP-Port auf dem Hostcomputer, unter dem der Container seinen eigenen Port5432
veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Logging-Treiber angeben
Standardmäßig führen Docker und Podman keine Protokollauslagerung durch. Das kann viel Speicherplatz beanspruchen und schließlich zum Ausschöpfen des Speicherplatzes führen. Wenn Sie einen anderen Logging-Treiber verwenden möchten, können Sie das Feld --log-driver
angeben. So melden Sie sich beispielsweise in journald
an:
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
Ersetzen Sie die folgenden Variablen:
CONTAINER_NAME
: Der Name, den Sie für Ihren Container verwendet haben. Beispiel:my-omni-1
NEW_PASSWORD
: Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.HOST_PORT
: TCP-Port auf dem Hostcomputer, unter dem der Container seinen eigenen Port5432
veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Weitere Informationen zu Logging-Treibern finden Sie in der Docker-Dokumentation Logging-Treiber konfigurieren und in der Podman-Dokumentation podman-run
.
Außerdem können Sie das Logging mit PostgreSQL konfigurieren. Weitere Informationen finden Sie unter AlloyDB Omni-Logrotation konfigurieren.
Volume mit gemeinsam genutztem Arbeitsspeicher bereitstellen
Wenn Sie die spaltenbasierte Engine von AlloyDB mit AlloyDB Omni verwenden möchten, empfehlen wir, für den AlloyDB Omni-Container gemeinsamen Arbeitsspeicher bereitzustellen. Die Methode dazu hängt vom Hostbetriebssystem ab, wie in den folgenden Beispielen gezeigt.
Linux
Um den freigegebenen Speicher für den Container verfügbar zu machen, müssen Sie /dev/shm
bereitstellen:
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
Ersetzen Sie die folgenden Variablen:
CONTAINER_NAME
: Der Name, den Sie für Ihren Container verwendet haben. Beispiel:my-omni-1
NEW_PASSWORD
: Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.HOST_PORT
: TCP-Port auf dem Hostcomputer, unter dem der Container seinen eigenen Port5432
veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
macOS
Wenn Sie den freigegebenen Speicher für den Container verfügbar machen möchten, fügen Sie das Flag --shm-size
hinzu:
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
Ersetzen Sie die folgenden Variablen:
CONTAINER_NAME
: Der Name, den Sie für Ihren Container verwendet haben. Beispiel:my-omni-1
NEW_PASSWORD
: Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.SHARED_MEMORY_SIZE
: Größe, die für/dev/shm
im Container festgelegt werden soll, im Format, das unter Ausführung von Containern beschrieben wird. Wenn Sie beispielsweise ein Gigabyte angeben möchten, verwenden Sie den Wert1g
.HOST_PORT
: TCP-Port auf dem Hostcomputer, unter dem der Container seinen eigenen Port5432
veröffentlichen soll. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Wir empfehlen, die Größe des gemeinsamen Arbeitsspeichers auf eine Anzahl von Megabyte festzulegen, die mindestens dem 250-fachen des Werts des Flags google_job_scheduler.max_parallel_workers_per_job
Ihrer Datenbank entspricht. Weitere Informationen zur spaltenbasierten Engine finden Sie unter Spaltenbasierte Engine in AlloyDB Omni konfigurieren.
Wenn das Datenbank-Flag google_job_scheduler.max_parallel_workers_per_job
beispielsweise auf den Standardwert 2
gesetzt ist, sollten Sie beim Starten des Datenbankservers ein Flag mit dem Wert --shm-size=500m
oder höher hinzufügen.
Weitere Informationen zum Flag --shm-size
finden Sie unter Container ausführen.
Erweiterungen aktivieren
Eine Liste der in AlloyDB Omni verfügbaren Erweiterungen finden Sie unter Unterstützte Datenbankerweiterungen. PostGIS und Orafce sind zwar nicht in AlloyDB Omni enthalten, können aber mithilfe der folgenden Anleitung installiert werden:
Installierte Erweiterungen werden mithilfe von Standard-PostgreSQL-CREATE EXTENSION
-Anweisungen aktiviert, wie unter Erweiterung aktivieren beschrieben.