Trasporto di un SQL database Postgre alla destinazione dall'origine - Amazon Relational Database Service

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 un SQL database Postgre alla destinazione dall'origine

Dopo aver completato il processo descritto in Configurazione per il trasporto di un database SQL Postgre, puoi avviare il trasporto. A questo scopo, esegui la funzione transport.import_from_server nell'istanza database di destinazione. Nella sintassi seguente puoi trovare i parametri della funzione.

SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', false);

Il valore false mostrato nell'esempio indica alla funzione che non si tratta di un test. Per testare la configurazione di trasporto, è possibile specificare true per l’opzione dry_run quando chiami la funzione, come illustrato di seguito:

postgres=> SELECT transport.import_from_server( 'docs-lab-source-db.666666666666aws-region.rds.amazonaws.com', 5432, 'postgres', '********', 'labdb', '******', true); INFO: Starting dry-run of import of database "labdb". INFO: Created connections to remote database (took 0.03 seconds). INFO: Checked remote cluster compatibility (took 0.05 seconds). INFO: Dry-run complete (took 0.08 seconds total). import_from_server -------------------- (1 row)

Le INFO righe vengono emesse perché il pg_transport.timing parametro è impostato sul valore predefinito,. true Imposta la proprietà dry_run su false quando esegui il comando e il database di origine viene importato nella destinazione, come illustrato di seguito:

INFO: Starting import of database "labdb". INFO: Created connections to remote database (took 0.02 seconds). INFO: Marked remote database as read only (took 0.13 seconds). INFO: Checked remote cluster compatibility (took 0.03 seconds). INFO: Signaled creation of PITR blackout window (took 2.01 seconds). INFO: Applied remote database schema pre-data (took 0.50 seconds). INFO: Created connections to local cluster (took 0.01 seconds). INFO: Locked down destination database (took 0.00 seconds). INFO: Completed transfer of database files (took 0.24 seconds). INFO: Completed clean up (took 1.02 seconds). INFO: Physical transport complete (took 3.97 seconds total). import_from_server -------------------- (1 row)

Questa funzione richiede l'inserimento di password per l'utente del database. Quindi, ti consigliamo di modificare le password dei ruoli utente utilizzati dopo aver completato il trasporto. In alternativa, è possibile utilizzare le variabili SQL bind per creare ruoli utente temporanei. Utilizza questi ruoli temporanei per il trasporto, quindi eliminali al termine.

Se il trasporto non ha esito positivo, potrebbe essere visualizzato un messaggio di errore simile al seguente:

pg_transport.num_workers=8 25% of files transported failed to download file data

Il messaggio di errore "Impossibile scaricare dati file" indica che il numero di processi di lavoro non è impostato correttamente per le dimensioni del database. Potrebbe essere necessario aumentare o diminuire il valore impostato per pg_transport.num_workers. Ogni errore segnala la percentuale di completamento, in modo da poter vedere l'impatto delle modifiche. Ad esempio, la modifica dell'impostazione da 8 a 4 in un caso ha comportato quanto segue:

pg_transport.num_workers=4 75% of files transported failed to download file data

Ricorda che il parametro max_worker_processes viene preso in considerazione anche durante il processo di trasporto. In altre parole, potrebbe essere necessario modificare sia pg_transport.num_workers che max_worker_processes per trasportare correttamente il database. L'esempio mostrato ha finalmente funzionato quando pg_transport.num_workers è stato impostato su 2:

pg_transport.num_workers=2 100% of files transported

Per ulteriori informazioni sulla funzione transport.import_from_server e sui relativi parametri, consulta Riferimento per la funzione Transportable Database.