Como AlloyDB Omni es compatible con PostgreSQL, los comandos y las técnicas de restauración de datos que se describen en el manual de pgBackRest también se aplican a AlloyDB Omni. En esta página se muestra una selección de tareas de recuperación habituales, con ejemplos de comandos relevantes.
Para obtener más información sobre cómo configurar pgBackRest para que funcione con AlloyDB Omni, consulta Configurar pgBackRest para AlloyDB Omni.
Para obtener información sobre Kubernetes, consulta Crear copias de seguridad y restaurar en Kubernetes.
Antes de empezar
Antes de restaurar un clúster de AlloyDB Omni, asegúrate de que tienes lo siguiente:
Configura pgBackRest en tu instancia de AlloyDB Omni.
Espacio en disco suficiente en el sistema de archivos de destino para almacenar el clúster de base de datos de AlloyDB Omni restaurado.
El contenedor de restauración usa la misma versión principal de AlloyDB Omni que el contenedor de origen original.
Para comprobar tu versión de PostgreSQL, ejecuta el siguiente comando:
Docker
docker exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Docker
docker exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Podman
podman exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Podman
podman exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Sustituye la siguiente variable:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.
Para comprobar tu versión de pgBackRest, ejecuta el siguiente comando:
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest version
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest version
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest version
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest version
Sustituye la siguiente variable:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.
Si el contenedor de destino tiene una versión diferente de PostgreSQL, pgBackRest o ambos, debes crear un contenedor de destino con una versión coincidente. Si no es posible, debes usar otro método, como las utilidades
pg_dump
opg_dumpall
incluidas en PostgreSQL, para copiar tus bases de datos entre versiones.
Detener el contenedor de AlloyDB Omni
Para simular que tu clúster de base de datos de AlloyDB Omni no está disponible, detén el contenedor.
Docker
docker stop CONTAINER_NAME
docker rm CONTAINER_NAME
Docker
docker stop CONTAINER_NAME
docker rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAME
podman rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAME
podman rm CONTAINER_NAME
Sustituye la siguiente variable:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.
Crear un contenedor de AlloyDB Omni inactivo
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest sleep infinity
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest sleep infinity
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest sleep infinity
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest sleep infinity
Sustituye las siguientes variables:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.DATA_DIR
: ruta del directorio de host en el que se almacenan tus datos.BACKUP_DIR
: ruta del directorio externo en el que se almacenan tus copias de seguridad.HOST_PORT
: puerto TCP de la máquina host al que debe publicar su propio puerto5432
el contenedor. Para usar el puerto predeterminado de PostgreSQL en la máquina host, especifica5432
.
Eliminar tu directorio de datos
Para borrar tu clúster de base de datos de AlloyDB Omni, elimina el directorio de datos.
Docker
docker exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Docker
docker exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Podman
podman exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Podman
podman exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Sustituye la siguiente variable:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.
Validar que tus copias de seguridad sean visibles
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Sustituye las siguientes variables:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.STANZA_NAME
: nombre de la estrofa que has creado. Por ejemplo,my-stanza
.
Restaurar tu copia de seguridad
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Sustituye las siguientes variables:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.STANZA_NAME
: nombre de la estrofa que has creado. Por ejemplo,my-stanza
.
Eliminar un contenedor de AlloyDB Omni inactivo
Docker
docker kill CONTAINER_NAME
docker rm CONTAINER_NAME
Docker
docker kill CONTAINER_NAME
docker rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAME
podman rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAME
podman rm CONTAINER_NAME
Sustituye la siguiente variable:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.
Crear un contenedor de AlloyDB Omni
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Sustituye las siguientes variables:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.DATA_DIR
: ruta del directorio de host en el que se almacenan tus datos.BACKUP_DIR
: ruta del directorio externo en el que se almacenan tus copias de seguridad.HOST_PORT
: puerto TCP de la máquina host al que debe publicar su propio puerto5432
el contenedor. Para usar el puerto predeterminado de PostgreSQL en la máquina host, especifica5432
.
Validar que AlloyDB Omni se ha iniciado
Docker
docker logs -f CONTAINER_NAME
Docker
docker logs -f CONTAINER_NAME
Podman
podman logs -f CONTAINER_NAME
Podman
podman logs -f CONTAINER_NAME
Sustituye la siguiente variable:
CONTAINER_NAME
: nombre que has usado para el contenedor. Por ejemplo,my-omni-1
.
Otras opciones
El comando restore
de pgBackRest es muy flexible y ofrece una gran variedad de opciones y funciones que puedes controlar mediante diferentes opciones de línea de comandos.
Para obtener una guía completa sobre cómo realizar restauraciones, consulta Restaurar.