Restore con puntos de recuperación (PITR)



Éste es el procedimiento:

1. Detenga el servidor, si se está ejecutando.

2. Si usted tiene el espacio para ello, copie todo el directorio de datos del clúster y los espacios de tablas en una ubicación temporal en caso de que los necesite más tarde. . Si no tiene suficiente espacio suficiente, al menos debe guardar el contenido de la agrupación pg_xlog subdirectorio, ya que podría contener registros que no fueron archivadas antes de que el sistema se puso.

3. Elimine todos los archivos y subdirectorios existentes en el directorio de datos de clúster y en los directorios raíz de los espacios de tablas que utiliza.

4. Restaurar los archivos de base de datos desde la copia de seguridad del sistema de archivos. Asegúrese de que se restauran con el derecho de propiedad (el usuario del sistema de base de datos, no la raíz !) y con los permisos adecuados. Si está utilizando los espacios de tabla, debe verificar que los enlaces simbólicos en pg_tblspc / se restauraron correctamente.

5. Elimine todos los archivos presentes en pg_xlog / ya que probablemente sea un versión obsoleta del mismo. Si no lo hizo archivo pg_xlog / en absoluto, vuelva a crearla con los permisos adecuados, teniendo cuidado de asegurarse de que se vuelva a establecerlo como un enlace simbólico si tuviera que establecer de esa manera antes.

6. Si ha desarchivar archivos segmentos WAL que guardó en el paso 2, copiarlos en pg_xlog / . (Lo mejor es copiarlos, no moverlos, por lo que aún tienen los archivos no modificados si se produce un problema y hay que empezar de nuevo.)

7. Crear una orden de recuperación de archivos recovery.conf en el directorio de datos de cluster. Es posible que también desee modificar temporalmentepg_hba.conf para evitar que usuarios ordinarios de la conexión hasta que esté seguro que la recuperación se ha realizado correctamente.

8. Inicie el servidor. El servidor se pondrá en modo de recuperación y proceda a leer a través de los archivos WAL archivados que necesita. Si la recuperación se terminó debido a un error externo, el servidor sólo se puede reiniciar y continuará la recuperación. Una vez finalizado el proceso de recuperación, el servidor se cambie el nombre recovery.conf arecovery.done (para evitar el modo de recuperación volver a entrar accidentalmente más adelante) y luego comenzar las operaciones normales de la base de datos.

9. Inspeccione el contenido de la base de datos para asegurarse de que se haya recuperado el estado deseado. Si no es así, vuelva al paso 1. Si todo está bien, permitir que los usuarios se conecten mediante la restauración de pg_hba.conf a la normalidad.