Compartir a través de


Restauración del servidor de Azure PostgreSQL-Flexible como archivos mediante Azure Portal

En este artículo se describe cómo restaurar un Servidor flexible de Azure PostgreSQL como archivos respaldados mediante Azure Portal.

Requisitos previos

Antes de restaurar desde copias de seguridad de servidor flexible de Azure Database for PostgreSQL, revise los siguientes requisitos previos:

  • Asegúrese de que tiene los permisos necesarios para la operación de restauración.

  • Los datos de copia de seguridad se almacenan en el almacén de Backup como un blob dentro del inquilino de Microsoft. Durante una operación de restauración, los datos de copia de seguridad se copian de una cuenta de almacenamiento a otra entre inquilinos. Asegúrese de que la cuenta de almacenamiento de destino de la restauración tenga la propiedad AllowCrossTenantReplication establecida en true.

  • Asegúrese de que la cuenta de almacenamiento de destino para restaurar la copia de seguridad como un archivo es accesible a través de una red pública. Si la cuenta de almacenamiento usa un punto de conexión privado, actualice su configuración de acceso a la red pública antes de ejecutar una operación de restauración.

Restauración de Azure PostgreSQL: copias de seguridad del servidor flexible como archivos

Nota:

La operación de restauración es un proceso de dos pasos:

  1. Restaure la copia de seguridad del almacén de Backup en un contenedor de almacenamiento.
  2. Restaure los archivos de copia de seguridad desde el contenedor de almacenamiento a un servidor flexible nuevo o existente.

Para restaurar la base de datos de Azure PostgreSQL-Flexible, siga estos pasos:

  1. Vaya a Almacén de Backup>Instancias de Backup. Seleccione el servidor postgreSQL: flexible que se va a restaurar y seleccione Restaurar.

    Como alternativa, vaya al centro de copia de seguridad y seleccione Restaurar.

  2. Seleccione el momento dado que desea restaurar mediante Seleccionar punto de restauración. Cambie el intervalo de fechas seleccionando Período de tiempo.

  3. Elija la cuenta de almacenamiento de destino y el contenedor en la pestaña Restaurar parámetros. Seleccione Validar para comprobar los permisos de parámetros de restauración antes de la revisión y restauración final.

  4. Si la validación es correcta, seleccione Revisar y restaurar.

  5. Después de la revisión final de los parámetros, seleccione Restaurar para restaurar la copia de seguridad de servidor flexible de PostgreSQL seleccionada en la cuenta de almacenamiento de destino.

  6. Envíe la operación de restauración y haga un seguimiento del trabajo desencadenado en Trabajos de copia de seguridad.

Una vez completado correctamente el trabajo de restauración, vaya al contenedor de la cuenta de almacenamiento para ver las bases de datos restauradas como archivos (.sql archivos) desde el servidor flexible de PostgreSQL. Azure Backup también genera los siguientes archivos de copia de seguridad:

  • Database.sql file por base de datos: contiene información de datos y esquema para una base de datos determinada.

  • Roles.sql files para toda la instancia: contiene toda la información de rol que existe en el nivel de servidor.

  • Tablespace.sql file: archivo de Tablespace.

  • Schema.sql file: contiene información de esquema para todas las bases de datos del servidor.

    Nota:

    Se recomienda no ejecutar este script en el servidor flexible de PostgreSQL porque el esquema ya forma parte del database.sql script.

Restauración de los archivos de copia de seguridad desde el contenedor de almacenamiento a un servidor postgreSQL nuevo o existente: servidor flexible

Para restaurar los archivos de copia de seguridad del contenedor de almacenamiento a un servidor postgreSQL nuevo o existente: flexible, siga estos pasos:

  1. Asegúrese de que todas las extensiones necesarias están habilitadas en el nuevo servidor flexible de destino.

  2. Emparejar los valores de los parámetros del servidor de la base de datos PostgreSQL de origen con la base de datos de Azure para PostgreSQL accediendo a la sección de parámetros del servidor en el portal de Azure y actualizando manualmente los valores en consecuencia. Guarde los cambios del parámetro y reinicie el servidor flexible de Azure Database for PostgreSQL para aplicar la nueva configuración.

  3. Si se requiere la autenticación de Microsoft Entra en el nuevo servidor, habilite y cree los administradores de Microsoft Entra pertinentes.

  4. Cree una nueva base de datos para la restauración.

    Nota:

    Antes de la restauración de la base de datos, debe crear una base de datos nueva y vacía. Asegúrese de que la cuenta de usuario tiene el CREATEDB permiso.

    Para crear la base de datos, use el CREATE DATABASE Database_name comando .

  5. Restaure la base de datos con database.sql file como usuario administrador de destino. 1.Después de crear la base de datos de destino, restaure los datos de esta base de datos (desde el archivo de volcado) desde una cuenta de almacenamiento de Azure ejecutando el siguiente comando:

    az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> --no-owner -v – 
    
    • --account-name: nombre de la cuenta de almacenamiento de destino.
    • --container-name: nombre del contenedor de blobs.
    • --blob-name: nombre del blob.
    • --account-key: clave de la cuenta de almacenamiento.
    • -Fd: el formato de directorio.
    • -j: el número de trabajos.
    • -C: Inicie el proceso con un comando para crear la propia base de datos y luego reconectar a ella.

    Como alternativa, puede descargar el archivo de copia de seguridad y ejecutar la restauración directamente.

  6. Restaure solo los roles y privilegios necesarios y omita los errores comunes. Omita este paso si va a realizar la restauración para los requisitos de cumplimiento y la recuperación de datos, como administrador local.

Restauración de roles y usuarios para las bases de datos restauradas

Las copias de seguridad almacenadas se restauran principalmente para fines de cumplimiento, como pruebas y auditorías. Puede iniciar sesión como administrador local y restaurar con el database.sql archivo; no se necesitan otros roles para la recuperación de datos.

Para otros usos, como la protección de eliminación accidental o la recuperación ante desastres, asegúrese de que los roles necesarios se creen según sus necesidades de la organización. Evite duplicaciones entre roles.sql y database.sql.

  • Restaurar el mismo servidor flexible: es posible que no sea necesario restaurar roles.
  • Restaurar en un Servidor flexible diferente: utilice el archivo roles.sql para volver a crear los roles necesarios.

Al restaurar desde roles.sql, es posible que algunos roles o atributos no sean válidos para el nuevo servidor de destino.

Para entornos con acceso de superusuario (máquinas virtuales o locales), puede ejecutar todos los comandos sin problemas.

Consideraciones clave para el escenario de servidor flexible

Estas son las consideraciones clave:

  • Quitar atributos de solo superusuario: en el Servidor flexible, no hay privilegios de superusuario. Por lo tanto, quite atributos, como NOSUPERUSER y NOBYPASSRLS del volcado de memoria de roles.
  • Excluir usuarios específicos del servicio: excluir usuarios específicos de los servicios del Servidor flexible ( azure_su, azure_pg_admin, replication, localadmin, Entra Admin). Estos roles de servicio específicos se vuelven a crear automáticamente cuando los administradores se agregan al nuevo servidor flexible.

Antes de restaurar los objetos de base de datos, asegúrese de volcar y limpiar correctamente los roles. Para realizar esta acción, descargue el roles.sqlscript del contenedor de almacenamiento y cree todos los inicios de sesión necesarios.

  • Crear roles no relacionados con Entra: use una cuenta de administrador local para ejecutar los scripts de creación.
  • Crear roles de Microsoft Entra: si necesita crear roles para los usuarios de Microsoft Entra, use una cuenta de administrador de Microsoft Entra para ejecutar los scripts necesarios.

Descargue el script de roles desde su cuenta de almacenamiento, tal y como se muestra en el recorte de pantalla siguiente:

Al migrar el archivo de salida, roles.sql puede incluir determinados roles y atributos que no son aplicables en el nuevo entorno. Debe tener en cuenta lo siguiente:

  • Quitar atributos que solo pueden establecer los superusuarios: si migra a un entorno en el que no tiene privilegios de superusuario, quite atributos como NOSUPERUSER y NOBYPASSRLS del volcado de roles.
  • Exclusión de usuarios específicos del servicio: excluya usuarios de servicio de servidor único, como azure_superuser o azure_pg_admin. Son específicos del servicio y se crean automáticamente en el nuevo entorno.

Use el comando sed siguiente para limpiar el volcado de roles:

sed -i '/azure_superuser/d; /azure_pg_admin/d; /azuresu/d; /^CREATE ROLE replication/d; /^ALTER ROLE replication/d; /^ALTER ROLE/ {s/NOSUPERUSER//; s/NOBYPASSRLS//;}' roles.sql

Este comando elimina las líneas que contienen azure_superuser, azure_pg_admin, azuresu, líneas que comienzan con CREATE ROLE replicación y ALTER ROLE replicación, y elimina los atributos NOSUPERUSER y NOBYPASSRLS de las declaraciones ALTER ROLE.

Pasos siguientes

Administración de copias de seguridad de Azure PostgreSQL: servidor flexible mediante Azure Portal.