GSP1085
Présentation
AlloyDB pour PostgreSQL est un service de base de données entièrement géré compatible avec PostgreSQL pour les charges de travail d'entreprise les plus exigeantes. AlloyDB associe le meilleur de Google à l'un des moteurs de base de données Open Source les plus utilisés, PostgreSQL, pour des performances, une évolutivité et une disponibilité optimales.
Dans cet atelier, vous allez migrer une base de données PostgreSQL autonome (qui s'exécute sur une machine virtuelle) vers AlloyDB pour PostgreSQL en utilisant des outils PostgreSQL natifs. L'une des options de migration de base de données compatibles avec AlloyDB est l'importation d'un fichier DMP. Vous devrez créer le fichier DMP à l'aide de l'outil pg_dump avec le paramètre de format personnalisé ou de répertoire. Vous devrez importer le fichier DMP à l'aide de l'outil pg_restore.
Objectifs de l'atelier
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Vérifier les données de l'instance source pour la migration
- Créer un fichier DMP de base de données à l'aide de pg_dump
- Importer un fichier DMP à l'aide de pg_restore
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Vérifier les données de l'instance source pour la migration
-
Dans le menu de navigation (
), sous Compute Engine, cliquez sur Instances de VM.
-
Pour l'instance nommée pg14-source, dans la colonne Connecter, cliquez sur SSH pour ouvrir une fenêtre de terminal.
-
Utilisez la commande suivante pour lancer le client PostgreSQL (psql).
sudo -u postgres psql
- L'invite de terminal psql s'affiche. Elle devrait ressembler à ce qui suit.
psql (14.5 (Debian 14.5-1.pgdg110+1))
Type "help" for help.
- Saisissez et exécutez la commande SQL suivante pour afficher les tables liées aux ressources humaines dans la base de données 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)
- Exécutez les requêtes suivantes pour déterminer le nombre de lignes de chaque table.
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;
- Voici le nombre de lignes des tables sources :
| Nom |
Lignes |
| countries |
25 |
| services |
27 |
| employees |
107 |
| jobs |
19 |
| locations |
23 |
| regions |
4 |
- Saisissez \q pour quitter le client psql.
Tâche 2 : Créer un fichier DMP de base de données à l'aide de pg_dump
- L'outil pg_dump est inclus par défaut dans chaque installation PostgreSQL. Dans le terminal pg14-source, créez un fichier DMP de la base de données postgres contenant les tables RH que vous avez examinées précédemment. Exécutez la commande suivante dans l'invite shell. Remarque : le flag "-Fc" désigne un fichier DMP au format personnalisé.
sudo -u postgres pg_dump -Fc postgres > pg14_source.DMP
- Parcourez le répertoire pour confirmer la taille et d'autres détails du fichier DMP.
ls -l -h pg14_source.DMP
-rw-r--r-- 1 student-03-171e0d8475af google-sudoers 13K Aug 27 21:19 pg14_source.DMP
- Pour simuler une exportation/importation de base de données de routine, migrez le fichier DMP vers un bucket Cloud Storage. Un bucket portant le nom de votre ID de projet Qwiklabs a été créé au démarrage de l'atelier.
gsutil cp pg14_source.DMP gs://{{{primary_project.project_id|Project ID}}}/pg14_source.DMP
- Cliquez sur Vérifier ma progression pour valider l'objectif.
Importer le fichier DMP de base de données dans Cloud Storage
Tâche 3 : Importer un fichier DMP à l'aide de pg_restore
-
Un cluster et une instance AlloyDB ont été provisionnés au début de l'atelier. Dans le menu de navigation de la console Cloud (
), sous Bases de données, cliquez sur AlloyDB pour PostgreSQL, puis sur Clusters pour examiner les détails du cluster.
-
Le cluster s'appelle lab-cluster et l'instance lab-instance.
-
Notez l'adresse IP privée dans la section "Instances". Copiez l'adresse IP privée dans un fichier texte. Vous pourrez ainsi coller la valeur à une étape ultérieure. La création et l'initialisation complètes de l'instance prennent un certain temps. Veuillez attendre qu'État indique Prêt avant de passer à l'étape suivante.
-
Une VM nommée alloydb-client, contenant le client PostgreSQL, a été provisionnée pour vous au début de l'atelier. Cette installation inclut l'outil de restauration de base de données pg_restore.
-
Dans le menu de navigation (
), sous Compute Engine, cliquez sur Instances de VM.
-
Pour l'instance nommée alloydb-client, dans la colonne Connecter, cliquez sur SSH pour ouvrir une fenêtre de terminal.
-
Définissez la variable d'environnement suivante en remplaçant ALLOYDB_ADDRESS par l'adresse IP privée de l'instance AlloyDB.
export ALLOYDB=ALLOYDB_ADDRESS
- Exécutez la commande suivante pour stocker l'adresse IP privée de l'instance AlloyDB sur la VM cliente AlloyDB afin qu'elle soit conservée tout au long de l'atelier.
echo $ALLOYDB > alloydbip.txt
- Utilisez la commande suivante pour lancer le client PostgreSQL (psql). Vous serez invité à fournir le mot de passe de l'utilisateur postgres (Change3Me) spécifié lors de la création du cluster.
psql -h $ALLOYDB -U postgres
- Exécutez la commande suivante pour vérifier que la base de données Postgres est actuellement vide.
\dt
Did not find any relations.
-
Saisissez \q pour quitter le client psql.
-
Téléchargez le fichier DMP du bucket Cloud Storage vers le répertoire local.
gsutil cp gs://{{{primary_project.project_id|Project ID}}}/pg14_source.DMP pg14_source.DMP
- Exécutez la commande suivante pour créer un fichier TOC qui met en commentaire toutes les instructions d'extension.
pg_restore -l pg14_source.DMP | sed -E 's/(.* EXTENSION )/; \1/g' > pg14_source_toc.toc
- Exécutez maintenant la commande de restauration pour charger les tables RH. Vous serez invité à saisir le mot de passe de l'utilisateur postgres : Change3Me.
pg_restore -h $ALLOYDB -U postgres \
-d postgres \
-L pg14_source_toc.toc \
pg14_source.DMP
- Relancez le client PostgreSQL (psql). Vous serez invité à saisir le mot de passe de l'utilisateur postgres : Change3Me.
psql -h $ALLOYDB -U postgres
- Exécutez la commande suivante pour confirmer que les tables ont été chargées.
\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)
- Exécutez les requêtes suivantes pour déterminer le nombre de lignes des tables migrées. Les valeurs correspondront aux résultats de la requête sur l'instance source.
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;
- Cliquez sur Vérifier ma progression pour valider l'objectif.
Vérifier l'importation du fichier DMP de base de données
Félicitations !
Vous avez réussi à migrer une base de données PostgreSQL autonome (qui s'exécute sur une machine virtuelle) vers AlloyDB pour PostgreSQL à l'aide d'outils PostgreSQL natifs.
Dernière mise à jour du manuel : 26 avril 2024
Dernier test de l'atelier : 2 août 2023
Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.