Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Use pg_restore to restore data from a logical backup file

Dernière mise à jour :Aug 19, 2026

Utilisez pg_restore pour restaurer les données d'un fichier de sauvegarde logique .dump vers une instance ApsaraDB RDS for PostgreSQL ou une base de données PostgreSQL locale.

Pour de petits volumes de données, comme une seule table, la restauration d'une sauvegarde logique est simple. Pour les ensembles de données volumineux, restaurez une sauvegarde physique complète vers une nouvelle instance RDS, puis utilisez Data Transmission Service (DTS) pour migrer les données vers l'instance d'origine. Pour connaître toutes les méthodes de restauration, consultez Restoration.

Prérequis

Avant de commencer, assurez-vous d'avoir :

Notes d'utilisation

  • Ne restaurez pas les données dans la base de données par défaut postgres.

  • Lors de la restauration d'une seule table, pg_restore ne restaure pas les objets de base de données dont dépend la table. Si ces dépendances sont absentes de la base de données cible, la restauration peut échouer.

Restaurer une base de données

Connectez-vous à l'instance ECS ou à l'hôte local qui stocke le fichier de sauvegarde et exécutez la commande suivante :

pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -c <dumpdir>
Paramètre Description
hostname L'endpoint utilisé pour se connecter à l'instance RDS. Pour utiliser un endpoint interne, l'instance ECS et l'instance RDS doivent utiliser le même type de réseau. Si elles utilisent toutes deux le type de réseau VPC, elles doivent se trouver dans le même VPC. Consultez View and change the endpoints and port numbers of an ApsaraDB RDS for PostgreSQL instance. Pour utiliser un endpoint public, vous devez d'abord en allouer un. Consultez Apply for or release a public endpoint on an ApsaraDB RDS for PostgreSQL instance.
username Le nom d'utilisateur du compte privilégié de l'instance RDS.
port Le port utilisé pour se connecter à l'instance RDS.
dbname Le nom de la base de données cible.
-c (facultatif) Supprime les objets de la base de données avant de les recréer. Consultez pg_restore.
dumpdir Le chemin d'accès au fichier de sauvegarde logique.

Exemple :

pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump

Lorsque l'invite Password: s'affiche, saisissez le mot de passe du compte privilégié et appuyez sur Entrée.

image.png

Ignorez les alertes provenant de l'extension plpgsql intégrée.

Restaurer une table

Connectez-vous à l'instance ECS ou à l'hôte local qui stocke le fichier de sauvegarde et exécutez la commande suivante :

pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -t <table> -c <dumpdir>

L'option -t <table> spécifie la table à restaurer. Tous les autres paramètres sont identiques à ceux décrits dans Restore a database.

Paramètre Description
table Le nom de la table à restaurer.

Exemple :

pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump

Lorsque l'invite Password: s'affiche, saisissez le mot de passe du compte privilégié et appuyez sur Entrée.

image.png

Lors de la restauration d'une seule table, les objets de base de données dont dépend la table ne sont pas restaurés. Assurez-vous que ces objets existent déjà dans la base de données cible, sinon la restauration risque d'échouer.

Restaurer le schéma d'une base de données

Pour restaurer uniquement le schéma d'une base de données sans restaurer les données, connectez-vous à l'instance ECS ou à l'hôte local et exécutez la commande suivante :

pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -s <dumpdir>

L'option -s restaure uniquement le schéma sans charger les données. Tous les autres paramètres sont identiques à ceux décrits dans Restore a database.

Exemple :

pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump

Lorsque l'invite Password: s'affiche, saisissez le mot de passe du compte privilégié et appuyez sur Entrée.

image.png

Ignorez les alertes provenant de l'extension plpgsql intégrée.

Étapes suivantes