Mi operación de restauración en Amazon Relational Database Service (Amazon RDS) para PostgreSQL ha fallado o tiene problemas. Quiero resolver los errores que se producen durante la restauración automática de instantáneas, la recuperación a un momento dado (PITR) o cuando uso herramientas nativas de PostgreSQL.
Resolución
Amazon RDS para PostgreSQL admite los siguientes métodos de restauración:
- Instantáneas de bases de datos automatizadas o manuales
- PITR dentro de tu periodo de retención de copias de seguridad
- Herramientas nativas de PostgreSQL, como pg_dump y pg_restore, para copias de seguridad lógicas
Usa las siguientes secciones para solucionar tu tipo de problema de restauración.
Comprobación de la compatibilidad de la versión de pg_restore
Si la versión de pg_restore no es compatible con la versión utilizada para crear la copia de seguridad, es posible que recibas uno de los siguientes mensajes de error:
"Unsupported version (1.15) in file header"
"Could not find header for file 'toc.dat' in tar archive"
Si las utilidades de PostgreSQL requieren una alineación de versiones entre la herramienta de creación de copias de seguridad pg_dump y la herramienta de restauración pg_restore, recibirás uno de los mensajes de error.
Para resolver el problema, comprueba la versión de pg_restore. Ejecuta el siguiente comando en el sistema operativo (SO) en el que están instaladas las utilidades del cliente de PostgreSQL:
pg_restore --version
Asegúrate de que la versión de pg_restore sea igual o posterior a la versión de pg_dump utilizada para crear la copia de seguridad. Si es necesario, actualiza la utilidad pg_restore para que coincida con la versión de la copia de seguridad o sea posterior. Para obtener más información, consulta las utilidades pg_dump y pg_restore de PostgreSQL.
Resolución de las discrepancias en el formato de copia de seguridad
Si utilizas pg_restore con un archivo de copia de seguridad de SQL sin formato, es posible que recibas el siguiente mensaje de error:
"Input file appears to be a text format dump. Please use psql"
Para resolver el problema, utiliza la utilidad psql en lugar de pg_restore para importar el archivo de copia de seguridad. Para obtener más información, consulta Importación de datos a PostgreSQL en Amazon RDS.
Nota: Para evitar este problema al crear copias de seguridad futuras, especifica el formato correcto durante la creación de la copia de seguridad. Utiliza pg_dump con -Fc para el formato personalizado o -Ft para las opciones de formato tar si planeas restaurar con pg_restore.
Supervisión del rendimiento de restauración
Durante las operaciones de restauración de instantáneas o PITR, la instancia de base de datos utiliza la carga diferida. Luego, los bloques de datos se cargan bajo demanda cuando se accede a ellos. Es posible que la instancia experimente un rendimiento más lento hasta que los datos a los que se accede con frecuencia se almacenen en caché.
Para supervisar el progreso de la restauración, ejecuta el siguiente comando:
aws rds describe-db-instances --db-instance-identifier instance-id
Nota: Sustituye instance-id por el identificador de instancia de la base de datos.
Para obtener información sobre cómo mejorar el rendimiento después de una operación de restauración, consulta Prácticas recomendadas para trabajar con PostgreSQL.
Administración de puntos de enlace de bases de datos
Si necesitas mantener el mismo nombre de punto de enlace después de una operación de restauración, puedes cambiar el nombre de la instancia de la base de datos.
Si usas réplicas de lectura, asegúrate de actualizar tu configuración después de una operación de restauración.
Información relacionada
Restauración a una instancia de base de datos
Restauración de una instancia de base de datos a un momento especificado para Amazon RDS
Prácticas recomendadas para migrar bases de datos de PostgreSQL a Amazon RDS y Amazon Aurora