Recuperación de un momento determinado

En esta página, se describe cómo usar la recuperación de un momento determinado para restablecer el trabajo de la instancia de Cloud SQL.

Para obtener más información sobre la recuperación de un momento determinado, consulta esta página.

La recuperación de un momento determinado está habilitada de forma predeterminada cuando creas una instancia de Cloud SQL nueva.

Habilita la recuperación de un momento determinado

Cuando creas una instancia en Google Cloud Console, las opciones Copias de seguridad automáticas y Habilitar la recuperación de un momento determinado están habilitadas de forma automática.

gcloud

  1. Muestra los detalles de la instancia:
    gcloud sql instances describe INSTANCE_NAME
    
  2. Si ves enabled: false en la sección backupConfiguration, habilita las copias de seguridad programadas:
    gcloud sql instances patch INSTANCE_NAME \
    --backup-start-time=HH:MM
    

    Debes especificar el parámetro backup-start-time mediante el formato de 24 horas en la zona horaria UTC±00.

  3. Habilita la recuperación de un momento determinado:
    
    gcloud sql instances patch INSTANCE_NAME \
    --enable-point-in-time-recovery \
    --retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS
    
    
  4. Confirma los cambios:
    gcloud sql instances describe INSTANCE_NAME
    

    En la sección backupConfiguration, busca pointInTimeRecoveryEnabled: true.

REST v1

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia
  • start-time: La hora en el formato “HH:MM”

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "start-time",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia
  • start-time: La hora en el formato “HH:MM”

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "start-time",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Realiza la recuperación de un momento determinado

Console

  1. En Google Cloud Console, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Ícono de más acciones para la instancia que deseas recuperar y haz clic en Clonar.
  3. En la ventana Crear un clon, actualiza el nombre de la instancia nueva, si es necesario.
  4. Selecciona Clonar desde un momento anterior.
  5. Ingresa un tiempo de recuperación de un momento determinado.
  6. Haz clic en Crear clon.

gcloud

  • Crea un clon de una instancia de PostgreSQL mediante PITR
    gcloud sql instances clone SOURCE_INSTANCE_NAME NEW_INSTANCE_NAME \
    --point-in-time TIMESTAMP
          
  • TIMESTAMP: Es la zona horaria UTC en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z. TIMESTAMP indica la hora a la que deseas recuperar el estado de la base de datos.

REST v1

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • target-instance-id: El ID de la instancia de destino
  • source-instance-id: El ID de la instancia de origen
  • restore-timestamp El momento al que se restablecerá

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • target-instance-id: El ID de la instancia de destino
  • source-instance-id: El ID de la instancia de origen
  • restore-timestamp El momento al que se restablecerá

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Inhabilita la recuperación de un momento determinado

Console

  1. En Google Cloud Console, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en el nombre de la instancia para abrir la página Descripción general de esa instancia.
  3. Haz clic en Edit.
  4. En la sección Copias de seguridad, recuperación y alta disponibilidad, anula la selección de Habilitar la recuperación de un momento determinado.
  5. Haz clic en Guardar.
  6. En la página Detalles de la instancia, pointInTimeRecoveryEnabled se muestra como false.

gcloud

  1. Inhabilita la recuperación de un momento determinado:
    
    gcloud sql instances patch INSTANCE_NAME \
    --no-enable-point-in-time-recovery
    
        
  2. Confirma los cambios:
    gcloud sql instances describe INSTANCE_NAME
    

    En la sección backupConfiguration, busca pointInTimeRecoveryEnabled: false.

REST v1

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false,
      "pointInTimeRecoveryEnabled": false
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false,
      "pointInTimeRecoveryEnabled": false
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Uso del disco y recuperación de un momento determinado

La recuperación de un momento determinado (PITR) usa registros de escritura por adelantado. Estos registros se actualizan de forma periódica y usan espacio de almacenamiento. Los registros de escritura por adelantado se borran de forma automática con su copia de seguridad automática asociada, lo que suele ocurrir después de 7 días.

Si el tamaño de tus registros de escritura por adelantado genera un problema en tu instancia:

  • Puedes aumentar el tamaño de almacenamiento de la instancia, pero el aumento del tamaño de registro de escritura por adelantado con respecto al uso del disco puede ser temporal.

  • Te recomendamos que habilites el aumento automático de almacenamiento para evitar problemas inesperados.

  • Para borrar los registros y recuperar el almacenamiento, puedes inhabilitar la recuperación de un momento determinado. Sin embargo, ten en cuenta que disminuir el almacenamiento en uso no reduce el tamaño del almacenamiento aprovisionado para la instancia.

  • Los registros se borran definitivamente una vez al día, no de forma continua. Configurar la retención de registros en dos días implica que se retengan al menos dos días de registros y, como máximo, tres días de registros. Recomendamos configurar la cantidad de copias de seguridad en un día más que los días de retención de registros para garantizar un mínimo de días específicos de retención.

Configura la retención del registro de transacciones

Haz lo siguiente para establecer la cantidad de días que se retendrán los registros de escritura por adelantado (de 1 a 7):

Console

  1. En Google Cloud Console, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en el nombre de la instancia para abrir la página Descripción general de esa instancia.
  3. Selecciona Copias de seguridad en el menú de navegación de SQL.
  4. Haz clic en Edit.
  5. En la sección Habilitar la recuperación de un momento determinado, expande Opciones avanzadas.
  6. Ingresa la cantidad de días de registros para almacenar a la vez.
  7. Haz clic en Guardar.

gcloud

Edita la instancia a fin de establecer la cantidad de días para conservar los registros de escritura por adelantado:

gcloud sql instances patch instance-name 
--retained-transaction-log-days=days-to-retain

Cantidad de días de registros de transacciones que se deben conservar. El rango válido es entre 1 y 7. Si no se especifica, el valor predeterminado es 7. Solo es válido cuando la recuperación de un momento determinado está habilitada. Para conservar más días de registros de transacciones, se requiere un tamaño de almacenamiento mayor.

REST v1beta4

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • days-to-retain: es la cantidad de días que se retendrán los registros de transacciones, de 1 a 7
  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "transactionLogRetentionDays": "days-to-retain"
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente: