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à.
Trasporto di SQL database Postgree tra cluster DB e istanze
Utilizzando i database SQL trasportabili Postgre per AmazonRDS, puoi spostare un SQL database Postgre tra due istanze DB. Si tratta di un modo molto rapido per migrare database di grandi dimensioni tra diverse istanze database. Per utilizzare questo approccio, le istanze DB devono eseguire entrambe la stessa versione principale di Postgre. SQL
Questa funzionalità richiede l'installazione dell’estensione pg_transport
sull'istanza database di origine e destinazione. L’estensione pg_transport
fornisce un meccanismo di trasporto fisico che consente di spostare i file del database con elaborazione minima. Questo meccanismo consente di spostare i dati più rapidamente rispetto ai tradizionali processi dump e load, con tempi di inattività molto ridotti.
Nota
I database SQL trasportabili Postgre sono disponibili per Postgre SQL 11.5 e versioni successive e RDS per Postgre versione 10.10 e successive. RDS SQL
Per trasportare un'istanza DB Postgre da un'istanza SQL DB RDS per Postgre a un'altra, devi prima configurare le istanze di SQL origine e di destinazione come descritto in. Configurazione di un’istanza database per il trasporto È quindi possibile trasportare il database utilizzando la funzione descritta in Trasporto di un database Postgre SQL.
Argomenti
Cosa succede durante il trasporto del database
La funzionalità dei database SQL trasportabili di Postgre utilizza un modello pull per importare il database dall'istanza DB di origine alla destinazione. La funzione transport.import_from_server
crea il database in transito nell'istanza database di destinazione. Il database in transito non è accessibile nell'istanza database di destinazione per tutta la durata del trasporto.
All'avvio del trasporto, tutte le sessioni correnti nel database di origine vengono terminate. Nessun database, oltre al database di origine nell'istanza database di origine, viene interessato dal trasporto.
Il database di origine passa in una modalità speciale di sola lettura. In questa modalità, puoi connetterti al database di origine ed eseguire query di sola lettura. Invece, le query abilitate per la scrittura e alcuni altri tipi di comandi sono bloccati. Solo lo specifico database di origine trasportato è sottoposto a queste limitazioni.
Durante il trasporto, non puoi ripristinare l'istanza database di destinazione a un point-in-time Questo perché il trasporto non è transazionale e non utilizza il log write-ahead di Postgre per registrare le modificheSQL. Se nell'istanza database di destinazione sono abilitati i backup automatici, dopo il trasporto viene eseguito automaticamente un backup. Point-in-timei ripristini sono disponibili per periodi successivi al termine del backup.
Se il trasporto non riesce, l'estensione pg_transport
tenta di annullare tutte le modifiche alle istanze database di origine e di destinazione, inclusa la rimozione del database parzialmente trasportato nella destinazione. A seconda del tipo di errore, il database di origine potrebbe continuare a rifiutare le query abilitate per la scrittura. Se accade, utilizza il comando seguente per consentirle.
ALTER DATABASE
db-name
SET default_transaction_read_only = false;
Limitazioni all'utilizzo dei database trasportabili di SQL Postgre
Transportable Database ha le limitazioni seguenti:
Repliche di lettura – I database trasportabili non possono essere utilizzati su repliche di lettura o istanze padre di repliche di lettura.
-
Tipi di colonne non supportati – Impossibile utilizzare i tipi di dati
reg
nelle tabelle di database che si intendono trasportare con questo metodo. Questi tipi dipendono dall'oggetto del catalogo di sistema IDs (OIDs), che spesso cambia durante il trasporto. -
Spazi tabelle – Tutti gli oggetti del database di origine devono trovarsi nello spazio tabelle
pg_default
predefinito. -
Compatibilità: sia l'istanza DB di origine che quella di destinazione devono eseguire la stessa versione principale di SQL Postgre.
-
Estensioni – L'istanza database di origine può avere solo
pg_transport
installato. -
Ruoli e ACLs: i privilegi di accesso e le informazioni sulla proprietà del database di origine non vengono trasferiti al database di destinazione. Tutti gli oggetti del database vengono creati e assegnati all'utente di destinazione locale del trasporto.
Trasporti simultanei – Una singola istanza database può supportare fino a 32 trasporti simultanei, comprese le importazioni e le esportazioni, se i processi di lavoro sono stati configurati correttamente.
-
RDSsolo per istanze SQL DB Postgre: i database SQL trasportabili Postgre sono supportati solo per le istanze DB Postgre. RDS SQL Non puoi usarlo con database locali o database in esecuzione su AmazonEC2.