Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Importazione di un SQL database Postgre da un'istanza Amazon EC2
Se disponi di dati in un SQL server Postgre su un'EC2istanza Amazon e desideri spostarli su un'istanza SQL DB Postgre, puoi seguire questa procedura per migrare i dati.
-
Creare un file utilizzando pg_dump che contiene i dati da caricare
-
Creare l'istanza database di destinazione
-
Utilizzare psql per creare il database sull'istanza database e caricare i dati
-
Creare uno snapshot DB dell'istanza database
Le seguenti sezioni forniscono maggiori dettagli su ogni passaggio sopra elencato.
Passo 1: creare un file utilizzando pg_dump che contiene i dati da caricare
L'pg_dump
utilità utilizza il COPY comando per creare uno schema e un dump dei dati di un database SQL Postgre. Lo script del dump generato da pg_dump
carica i dati in un database con lo stesso nome e ricrea le tabelle, gli indici e le chiavi esterne. Puoi utilizzare il comando pg_restore
e il parametro -d
per ripristinare i dati in un database con un nome diverso.
Prima di creare il dump dei dati, devi eseguire le query delle tabelle da sottoporre a dump per ottenere un conteggio delle righe e confermare il numero sull'istanza database di destinazione.
Il seguente commando crea un file dump denominato mydb2dump.sql per un database denominato mydb2.
prompt>pg_dump dbname=mydb2 -f mydb2dump.sql
Passo 2: creare l'istanza database di destinazione.
Crea l'istanza Postgree SQL DB di destinazione utilizzando la RDS console Amazon o. AWS CLI API Crea l'istanza con l'impostazione di retention dei backup impostata su 0 e disabilita l'opzione Multi-AZ. Ciò consente di velocizzare l'importazione dei dati. Devi creare un database sull'istanza prima di poter effettuare il dump dei dati. Il database può avere lo stesso nome del database che conteneva i dati del dump. In alternativa, puoi creare un database con un nome diverso. In questo caso, puoi utilizzare il comando pg_restore
e il parametro -d
per ripristinare i dati nel database con il nuovo nome.
Ad esempio, puoi utilizzare i seguenti comandi per il dump, il ripristino e la ridenominazione di un database.
pg_dump -Fc -v -h
[endpoint of instance]
-U[master username]
[database]
>[database]
.dump createdb[new database name]
pg_restore -v -h[endpoint of instance]
-U[master username]
-d[new database name]
[database]
.dump
Passo 3: utilizzare psql per creare il database sull'istanza database e caricare i dati
Puoi utilizzare la stessa connessione utilizzata per eseguire il comando pg_dump per connetterti all'istanza database di destinazione e ricreare il database. Servendoti di psql, puoi utilizzare il nome utente master e la password master per creare il database sull'istanza database.
L'esempio seguente utilizza psql e un file di dump denominato mydb2dump.sql per creare un database chiamato mydb2 su un'istanza DB Postgre chiamata mypginstance: SQL
In Linux, macOS, oppure Unix:
psql \ -f
mydb2dump.sql
\ --hostmypginstance.555555555555
.aws-region
.rds.amazonaws.com \ --port8199
\ --usernamemyawsuser
\ --passwordpassword
\ --dbnamemydb2
In Windows:
psql ^ -f
mydb2dump.sql
^ --hostmypginstance.555555555555
.aws-region
.rds.amazonaws.com ^ --port8199
^ --usernamemyawsuser
^ --passwordpassword
^ --dbnamemydb2
Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
Passo 4: creare uno snapshot DB dell'istanza database.
Dopo aver verificato che i dati siano stati caricati nell'istanza DB, ti consigliamo di creare uno snapshot DB dell'istanza database Postgre SQL di destinazione. Le snapshot DB sono backup completi della tua istanza database che puoi utilizzare per ripristinare la tua istanza database in uno stato noto. Una snapshot DB ottenuta immediatamente dopo il caricamento consente di non dover caricare nuovamente i dati in caso di problemi. Può essere utilizzata per inizializzare nuove istanze database. Per ulteriori informazioni sulla creazione di uno snapshot DB, consulta Creazione di uno snapshot DB per un'istanza DB Single-AZ per Amazon RDS.