Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
La scalabilità automatica di Lakebase è la versione più recente di Lakebase, con calcolo autoscalabile, scalabilità fino a zero, ramificazione e ripristino immediato. Per le aree supportate, vedere Disponibilità dell'area. Se sei un utente provisioning di Lakebase, vedere Lakebase provisioning.
Questo argomento descrive come creare un backup del database Lakebase usando l'utilità Postgres pg_dump e come ripristinare un backup usando pg_restore.
Quando usare pg_dump e pg_restore
Usare pg_dump e pg_restore per il ripristino di emergenza e i requisiti di continuità aziendale o quando è necessario archiviare i backup completi all'esterno di Lakebase. Questo metodo fornisce esportazioni di database complete che possono essere archiviate in modo indipendente e ripristinato in qualsiasi sistema compatibile con Postgres.
Prerequisiti
Prima di iniziare, assicurarsi che:
-
pg_dumpepg_restoresono installati. È possibile verificare eseguendopg_dump -V. - Si usano le versioni più recenti di
pg_dumpepg_restore. - La versione client corrisponde alla versione di Postgres del progetto Lakebase.
- Un progetto Lakebase con un ruolo Postgres configurato
Annotazioni
È consigliabile usare l'autenticazione della password Postgres nativa quando si usano pg_dump e pg_restore. Le password native di Postgres non scadono ogni ora come i token OAuth, rendendole più adatte per le operazioni di backup e ripristino. Per informazioni dettagliate sui metodi di autenticazione, vedere Panoramica dell'autenticazione.
Installare pg_dump e pg_restore
Se non hai le utilità pg_dump e pg_restore installate in locale, installale sulla tua piattaforma preferita.
Windows: Installare PostgreSQL usando il programma di installazione ufficiale da postgresql.org. Le utilità pg_dump e pg_restore vengono installate per impostazione predefinita e sono disponibili nella directory bin di PostgreSQL.
Macos: Installare PostgreSQL con Homebrew:
brew install postgresql
Linux (Ubuntu/Debian):
sudo apt-get install postgresql-client
Docker: Eseguire pg_dump con un contenitore Docker Postgres:
docker run --rm postgres:15 pg_dump --version
Creare un backup con pg_dump
Per creare un backup del database in locale:
Passare all'app Lakebase facendo clic sul commutatore delle app nell'angolo in alto a destra dell'area di lavoro.
Seleziona il progetto.
Fare clic su Connetti per aprire la finestra di connessione al database.
Selezionare un ruolo Postgres dall'elenco a discesa (è consigliabile usare un ruolo Postgres nativo con l'autenticazione della password).
Copiare la stringa di connessione.
La stringa di connessione è simile alla seguente:
postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=requireCreare un backup del database Lakebase eseguendo il comando seguente
pg_dump:pg_dump -Fc -v -d "<lakebase_database_connection_string>" -f <dump_file_name>Dopo aver aggiunto la stringa di connessione del database Lakebase e un nome file dump, il comando avrà un aspetto simile al seguente:
pg_dump -Fc -v -d "postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require" -f mydatabase.bak
argomenti di comando pg_dump
Il pg_dump comando include questi argomenti:
-
-Fc: invia l'output a un archivio in formato personalizzato adatto per l'input inpg_restore. -
-v: Eseguepg_dumpin modalità dettagliata, consentendo di monitorare ciò che accade durante l'operazione di dump. -
-d: specifica la stringa di connessione per il database Lakebase. -
-f <dump_file_name>: nome del file di dump. Può essere qualsiasi nome scelto (ad esempio,mydumpfile.bak).
Ripristinare un backup con pg_restore
Per ripristinare un database usando l'utilità pg_restore da un file di backup creato tramite pg_dump:
Creare un nuovo progetto Lakebase.
Creare un database con lo stesso nome di quello di cui è stato eseguito il backup.
Passare all'app Lakebase facendo clic sul commutatore delle app nell'angolo in alto a destra dell'area di lavoro.
Seleziona il tuo progetto e fai clic su Connetti per aprire la finestra di connessione al database.
Selezionare un ruolo Postgres dall'elenco a discesa (è consigliabile usare un ruolo Postgres nativo con l'autenticazione della password).
Copiare la stringa di connessione.
La stringa di connessione è simile alla seguente:
postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=requireRipristina i dati nel database di destinazione su Lakebase con
pg_restore.pg_restore -v -d "<lakebase_database_connection_string>" <dump_file_name>Dopo aver aggiunto la stringa di connessione del database Lakebase e il nome del file di dump, il comando sarà simile al seguente:
pg_restore -v -d "postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require" mydatabase.bak
argomenti di comando pg_restore
Il pg_restore comando include questi argomenti:
-
-v: eseguepg_restorein modalità dettagliata, consentendo di monitorare cosa succede durante l'operazione di ripristino. -
-d: specifica il database Lakebase a cui connettersi. Il valore è una stringa di connessione del database Lakebase. -
<dump_file_name>: nome del file dump creato conpg_dump.
Esempio completo
Nell'esempio seguente viene illustrato il dump dei dati da un database di origine denominato databricks_postgres in un progetto Lakebase e il ripristino in un databricks_postgres database in un altro progetto Lakebase.
Prima di eseguire questa procedura:
- È stato creato un nuovo progetto Lakebase per il database di destinazione (che include il database predefinito
databricks_postgres) - Sono state raccolte le stringhe di connessione per i database di origine e di destinazione:
-
Fonte:
postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require -
Destinazione:
postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require
-
Fonte:
Procedura di backup e ripristino:
# Create a directory for the dump
mkdir mydump && cd mydump
# Create the backup
pg_dump -Fc -v -d "postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require" -f mydatabase.bak
# Verify the backup file was created
ls
mydatabase.bak
# Restore the backup to the destination database
pg_restore -v -d "postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require" mydatabase.bak