Postgres pg_dump e pg_restore
Beta
O Lakebase Postgres (beta com escalonamento automático) é a próxima versão do Lakebase, disponível apenas para avaliação. Para cargas de trabalho de produção, utilize a versão de pré-visualização pública do Lakebase. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.
Este tópico descreve como criar um backup do seu banco de dados Lakebase usando os utilitários Postgres pg_dump e como restaurar um backup usando pg_restore.
Quando usar pg_dump e pg_restore
Use pg_dump e pg_restore para requisitos de recuperação de desastres e continuidade de negócios, ou quando você precisar armazenar backups completos fora do Lakebase. Este método fornece exportações completas do banco de dados que podem ser armazenadas independentemente e restauradas em qualquer sistema compatível com Postgres.
Pré-requisitos
Antes de começar, certifique-se de que:
- pg_dumpe- pg_restoreestão instalados. Você pode verificar executando- pg_dump -V.
- Você está usando as versões mais recentes de pg_dumpepg_restore.
- A versão do cliente corresponde à versão do Postgres do seu projeto Lakebase.
- Um projeto de banco de dados Lakebase com uma função Postgres configurada.
Recomendamos o uso da autenticação de senha nativa do Postgres ao usar pg_dump e pg_restore. As senhas nativas do Postgres não expiram a cada hora como os tokens OAuth, o que as torna mais adequadas para operações de backup e restauração. Consulte a Visão geral da autenticação para obter detalhes sobre os métodos de autenticação.
Instale pg_dump e pg_restore.
Se você não tiver os utilitários pg_dump e pg_restore instalados localmente, instale-os em sua plataforma preferida.
Windows:
Instale o PostgreSQL usando o instalador oficial do postgresql.org. Os utilitários pg_dump e pg_restore são instalados por default e podem ser encontrados no diretório bin PostgreSQL .
macOS: Instale o PostgreSQL usando o Homebrew:
brew install postgresql
Linux (Ubuntu/Debian):
sudo apt-get install postgresql-client
Docker:
execução pg_dump usando um contêiner Postgres Docker :
docker run --rm postgres:15 pg_dump --version
Crie um backup com pg_dump
Para criar um backup do banco de dados localmente:
- 
Acesse o aplicativo Lakebase clicando no seletor de aplicativos no canto superior direito da sua workspace. 
- 
Selecione o seu projeto de banco de dados. 
- 
Clique em Conectar para abrir a janela de conexão com o banco de dados. 
- 
Selecione uma função do Postgres na dropdown (recomendamos usar uma função nativa do Postgres com autenticação por senha). 
- 
Desmarque a opção de agrupamento de conexões . Você precisa de uma string de conexão direta, não de uma string de pool. Suas strings de conexão são semelhantes a estas: postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require
- 
Crie um backup do seu banco de dados Lakebase executando o seguinte comando pg_dump:Bashpg_dump -Fc -v -d "<lakebase_database_connection_string>" -f <dump_file_name>Após adicionar as strings de conexão do seu banco de dados Lakebase e o nome do arquivo de despejo, seu comando ficará assim: Bashpg_dump -Fc -v -d "postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require" -f mydatabase.bak
argumentos do comando pg_dump
O comando pg_dump inclui os seguintes argumentos:
- -Fc: Envia a saída para um arquivo de formato personalizado adequado para entrada em- pg_restore.
- -v: execução- pg_dumpem modo detalhado, permitindo monitorar o que acontece durante as operações de dump.
- -dEspecifica as strings de conexão para seu banco de dados Lakebase.
- -f <dump_file_name>: O nome do arquivo de despejo. Pode ser qualquer nome que você escolher (por exemplo,- mydumpfile.bak).
Restaure um backup com pg_restore
Para restaurar um banco de dados usando as utilidades pg_restore a partir de um arquivo de backup criado usando pg_dump:
- 
Crie um novo projeto no Lakebase. 
- 
Crie um banco de dados com o mesmo nome daquele que você fez backup. 
- 
Acesse o aplicativo Lakebase clicando no seletor de aplicativos no canto superior direito da sua workspace. 
- 
Selecione o seu projeto de banco de dados e clique em Conectar para abrir a janela de conexão com o banco de dados. 
- 
Selecione uma função do Postgres na dropdown (recomendamos usar uma função nativa do Postgres com autenticação por senha). 
- 
Desmarque a opção de agrupamento de conexões . Você precisa de uma string de conexão direta, não de uma string de pool. Suas strings de conexão são semelhantes a estas: postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require
- 
Restaure seus dados para o banco de dados de destino no Lakebase com pg_restore:Bashpg_restore -v -d "<lakebase_database_connection_string>" <dump_file_name>Após adicionar as strings de conexão do seu banco de dados Lakebase e o nome do arquivo de despejo, seu comando ficará assim: Bashpg_restore -v -d "postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require" mydatabase.bak
argumentos do comando pg_restore
O comando pg_restore inclui os seguintes argumentos:
- -v: execução- pg_restoreem modo detalhado, permitindo monitorar o que acontece durante as operações de restauração.
- -d: Especifica o banco de dados Lakebase ao qual se conectar. O valor é uma string de conexão com o banco de dados Lakebase.
- <dump_file_name>: O nome do arquivo de despejo que você criou com- pg_dump.
Exemplo completo
O exemplo a seguir mostra como os dados são extraídos de um banco de dados de origem chamado databricks_postgres em um projeto Lakebase e restaurados em um banco de dados databricks_postgres em outro projeto Lakebase.
Antes de realizar este procedimento:
- Um novo projeto Lakebase foi criado para o banco de dados de destino (que inclui o banco de dados default databricks_postgres).
- Foram coletadas as strings de conexão para os bancos de dados de origem e destino:
- Fonte: postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require
- Destino: postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require
 
- Fonte: 
Procedimento de backup e restauração:
# 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