GSP1085
Visão geral
O AlloyDB para PostgreSQL é um serviço de banco de dados totalmente gerenciado e compatível com PostgreSQL para suas cargas de trabalho mais exigentes em bancos de dados empresariais. Esse serviço combina o melhor do Google com um dos mecanismos de banco de dados de código aberto mais populares, PostgreSQL, para desempenho, escala e disponibilidade superiores.
Neste laboratório, você vai migrar um banco de dados independente do PostgreSQL (executado em uma máquina virtual) para o AlloyDB para PostgreSQL usando ferramentas nativas do PostgreSQL. Uma das opções de migração de banco de dados do AlloyDB é a importação de um arquivo DMP. O arquivo DMP precisa ser criado usando a ferramenta pg_dump com a configuração de formato personalizado ou de diretório. Para importar o DMP, use a ferramenta pg_restore.
Atividades deste laboratório
Neste laboratório, você aprenderá a fazer o seguinte:
- Verificar os dados para migração na instância de origem
- Criar um arquivo DMP de banco de dados usando pg_dump
- Importar o arquivo DMP usando pg_restore.
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, e não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
-
Clique em Ativar o Cloud Shell
na parte de cima do console do Google Cloud.
-
Clique nas seguintes janelas:
- Continue na janela de informações do Cloud Shell.
- Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.
Depois de se conectar, você verá que sua conta já está autenticada e que o projeto está configurado com seu Project_ID, . A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
- Clique em Autorizar.
Saída:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project
Saída:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Observação: consulte a documentação completa da gcloud no Google Cloud no guia de visão geral da gcloud CLI.
Tarefa 1: verificar os dados para migração na instância de origem
-
No Menu de navegação (
), em Compute Engine, clique em Instâncias de VM.
-
Na instância chamada pg14-source, na coluna Conectar, clique em SSH para abrir uma janela do terminal.
-
Use o comando a seguir para iniciar o cliente PostgreSQL (psql).
sudo -u postgres psql
- Você vai receber o prompt do terminal psql, semelhante ao mostrado abaixo.
psql (14.5 (Debian 14.5-1.pgdg110+1))
Type "help" for help.
- Insira e execute o seguinte comando SQL para ver as tabelas relacionadas a RH no banco de dados postgres.
\dt
List of relations
Schema | Name | Type | Owner
--------+-------------+-------+----------
public | countries | table | postgres
public | departments | table | postgres
public | employees | table | postgres
public | jobs | table | postgres
public | locations | table | postgres
public | regions | table | postgres
(6 rows)
- Execute as consultas a seguir para determinar o número de linhas de cada tabela.
select count (*) as countries_row_count from countries;
select count (*) as departments_row_count from departments;
select count (*) as employees_row_count from employees;
select count (*) as jobs_row_count from jobs;
select count (*) as locations_row_count from locations;
select count (*) as regions_row_count from regions;
- Confira abaixo o número de linhas das tabelas:
| Nome |
Linhas |
| países |
25 |
| departamentos |
27 |
| funcionários |
107 |
| jobs |
19 |
| locais |
23 |
| regiões |
4 |
- Digite \q para sair do cliente psql.
Tarefa 2: criar um arquivo DMP de banco de dados usando pg_dump
- A ferramenta pg_dump é instalada por padrão com todas as instalações do PostgreSQL. No terminal pg14-source, crie um arquivo DMP do banco de dados postgres com as tabelas de RH que você analisou antes. Execute o comando a seguir no prompt do shell. Observação: a flag "-Fc" indica um arquivo DMP de formato personalizado.
sudo -u postgres pg_dump -Fc postgres > pg14_source.DMP
- Navegue pelo diretório para confirmar o tamanho e outros detalhes do arquivo DMP.
ls -l -h pg14_source.DMP
-rw-r--r-- 1 student-03-171e0d8475af google-sudoers 13K Aug 27 21:19 pg14_source.DMP
- Para simular uma exportação/importação rotineira em um banco de dados, migre o arquivo DMP para um bucket do Cloud Storage. Um bucket com o nome do ID do projeto do Qwiklabs foi criado na inicialização do laboratório.
gsutil cp pg14_source.DMP gs://{{{primary_project.project_id|Project ID}}}/pg14_source.DMP
- Clique em Verificar meu progresso para conferir o objetivo.
Fazer upload do arquivo DMP de um banco de dados para o Cloud Storage
Tarefa 3: importar o arquivo DMP usando pg_restore
-
Quando você começou o laboratório, um cluster e uma instância do AlloyDB foram provisionados. No menu de navegação do console do Cloud (
), em Bancos de dados, clique em AlloyDB para PostgreSQL e em Clusters para examinar os detalhes do cluster.
-
O nome do cluster é lab-cluster e o da instância é lab-instance.
-
Anote o endereço IP privado na seção de instâncias. Copie o endereço de IP privado em um arquivo de texto para colar o valor em uma etapa posterior. A criação e a inicialização da instância levam algum tempo. Aguarde até que o Status seja Pronto para prosseguir para a próxima etapa.
-
Uma VM chamada alloydb-client, que contém o cliente PostgreSQL, foi provisionada para você no início do laboratório. Essa instalação inclui a ferramenta de restauração de banco de dados pg_restore.
-
No menu de navegação (
), em Compute Engine, clique em Instâncias de VM.
-
Na instância chamada alloydb-client, na coluna Conectar, clique em SSH para abrir uma janela do terminal.
-
Defina a seguinte variável de ambiente, substituindo ALLOYDB_ADDRESS pelo endereço IP privado da instância do AlloyDB.
export ALLOYDB=ALLOYDB_ADDRESS
- Execute o comando a seguir para armazenar o endereço IP privado da instância do AlloyDB na VM do cliente do AlloyDB para que ele persista durante todo o laboratório.
echo $ALLOYDB > alloydbip.txt
- Use o comando a seguir para iniciar o cliente PostgreSQL (psql). Será necessário inserir a senha do usuário postgres (Change3Me), definida quando o cluster foi criado.
psql -h $ALLOYDB -U postgres
- Execute o comando a seguir para confirmar se o banco de dados postgres está vazio.
\dt
Did not find any relations.
-
Digite \q para sair do cliente psql.
-
Baixe o arquivo DMP do bucket do Cloud Storage para o diretório local.
gsutil cp gs://{{{primary_project.project_id|Project ID}}}/pg14_source.DMP pg14_source.DMP
- Execute o comando a seguir para criar um arquivo TOC que comente todas as instruções de extensão.
pg_restore -l pg14_source.DMP | sed -E 's/(.* EXTENSION )/; \1/g' > pg14_source_toc.toc
- Agora execute o comando de restauração para carregar as tabelas de RH. Será necessário inserir a senha do usuário postgres: Change3Me.
pg_restore -h $ALLOYDB -U postgres \
-d postgres \
-L pg14_source_toc.toc \
pg14_source.DMP
- Inicie o cliente PostgreSQL (psql) novamente. Será necessário fornecer a senha do usuário postgres: Change3Me.
psql -h $ALLOYDB -U postgres
- Execute o comando a seguir para confirmar se as tabelas foram carregadas.
\dt
List of relations
Schema | Name | Type | Owner
--------+-------------+-------+----------
public | countries | table | postgres
public | departments | table | postgres
public | employees | table | postgres
public | jobs | table | postgres
public | locations | table | postgres
public | regions | table | postgres
(6 rows)
- Execute as consultas a seguir para determinar as contagens de linhas das tabelas migradas. Os valores vão corresponder às saídas de consulta na instância de origem.
select count (*) as countries_row_count from countries;
select count (*) as departments_row_count from departments;
select count (*) as employees_row_count from employees;
select count (*) as jobs_row_count from jobs;
select count (*) as locations_row_count from locations;
select count (*) as regions_row_count from regions;
- Clique em Verificar meu progresso para conferir o objetivo.
Verificar a importação do arquivo DMP no banco de dados
Parabéns!
Você migrou com sucesso um banco de dados PostgreSQL independente (em execução em uma máquina virtual) para o AlloyDB para PostgreSQL usando ferramentas nativas do PostgreSQL.
Manual atualizado em 26 de abril de 2024
Laboratório testado em 2 de agosto de 2023
Copyright 2026 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.