Salta al contenuto

Come posso risolvere i problemi relativi alle operazioni di ripristino in Amazon RDS per PostgreSQL?

3 minuti di lettura
0

La mia operazione di ripristino in Amazon Relational Database Service (Amazon RDS) per PostgreSQL non è riuscita o presenta problemi. Desidero risolvere gli errori che si verificano durante il ripristino da snapshot automatico, il recupero point-in-time (PITR) o l'utilizzo di strumenti nativi di PostgreSQL.

Risoluzione

Amazon RDS per PostgreSQL supporta i seguenti metodi di ripristino:

  • Snapshot automatici o manuali del database
  • PITR entro il periodo di conservazione del backup
  • Strumenti nativi di PostgreSQL, come pg_dump e pg_restore, per backup logici

Utilizza le seguenti sezioni per risolvere il tipo di problema di ripristino riscontrato.

Verifica la compatibilità della versione di pg_restore

Se la versione dell'utilità pg_restore non è compatibile con la versione utilizzata per creare il backup, potresti ricevere uno dei seguenti messaggi di errore:

"Unsupported version (1.15) in file header"

"Could not find header for file 'toc.dat' in tar archive"

Se le utilità di PostgreSQL richiedono l'allineamento della versione tra lo strumento di creazione del backup pg_dump e lo strumento di ripristino pg_restore, ricevi uno dei messaggi di errore.

Per risolvere il problema, controlla la versione di pg_restore. Esegui questo comando nel sistema operativo in cui sono installate le utilità del client PostgreSQL:

pg_restore --version

Assicurati che la versione di pg_restore sia uguale o più recente della versione di pg_dump utilizzata per creare il backup. Se necessario, aggiorna l'utilità pg_restore in modo che corrisponda o sia superiore alla versione del backup. Per ulteriori informazioni, consulta PostgreSQL pg_dump and pg_restore utility (Utilità pg_dump e pg_restore di PostgreSQL).

Risolvi le discrepanze nei formati di backup

Se utilizzi pg_restore con un file di backup SQL in chiaro, potresti ricevere il seguente messaggio di errore:

"Input file appears to be a text format dump. Please use psql"

Per risolvere il problema, utilizza l'utilità psql invece di pg_restore per importare il file di backup. Per ulteriori informazioni, consulta Importazione di dati in PostgreSQL su Amazon RDS.

Nota: per evitare che il problema si ripresenti quando crei altri backup, specifica il formato corretto durante la creazione del backup. Utilizza pg_dump con -Fc per il formato personalizzato o -Ft per le opzioni di formato tar se intendi ripristinare con pg_restore.

Monitora le prestazioni del ripristino

Durante le operazioni di ripristino da snapshot o PITR, l'istanza database utilizza il lazy loading. Ciò significa che i blocchi di dati vengono caricati on demand quando vi accedi. L'istanza potrebbe avere prestazioni inferiori fino a che non vengono memorizzati nella cache i dati a cui accedi di frequente.

Per monitorare l'avanzamento del ripristino, esegui questo comando:

aws rds describe-db-instances --db-instance-identifier instance-id

Nota: sostituisci instance-id con l'identificatore dell'istanza database.

Per informazioni sul miglioramento delle prestazioni dopo un'operazione di ripristino, consulta Best practice per Amazon RDS.

Gestisci gli endpoint del database

Se devi mantenere lo stesso nome dell'endpoint dopo un'operazione di ripristino, puoi rinominare l'istanza database.

Se utilizzi repliche in lettura, assicurati di aggiornarne la configurazione dopo un'operazione di ripristino.

Informazioni correlate

Ripristino in un’istanza database

Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS

Best practices for migrating PostgreSQL databases to Amazon RDS and Amazon Aurora (Best practice per la migrazione di database PostgreSQL su Amazon RDS e Amazon Aurora)

AWS UFFICIALEAggiornata 6 mesi fa