Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Use pg_restore to restore logical backup data

Dernière mise à jour :Oct 09, 2026

Cette rubrique explique comment utiliser la commande 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.

Remarque
  • Pour de petits volumes de données, comme ceux d'une seule table, utilisez une sauvegarde logique pour une récupération rapide. Pour de grands volumes de données, nous vous recommandons de restaurer les données à partir d'une sauvegarde physique complète vers une nouvelle instance, puis d'utiliser Data Transmission Service (DTS) pour migrer les données vers l'instance d'origine.

  • Pour plus d'informations sur les méthodes de récupération des données, consultez la rubrique Récupérer.

Prérequis

Vous avez créé une sauvegarde logique de vos données PostgreSQL.

Notes d'utilisation

  • Ne vous connectez pas à la base de données par défaut postgres lors de la restauration des données.

  • La restauration d'une table spécifique ne restaure pas les autres objets de base de données dont cette table dépend. Par conséquent, l'opération peut échouer lors d'une restauration vers une base de données vide.

Restaurer une base de données

  1. Connectez-vous à l'instance ECS ou à l'hôte local où sont stockées les données de sauvegarde et exécutez la commande suivante pour restaurer la base de données.

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

    Paramètre

    Description

    hostname

    Le point de terminaison de l'instance ApsaraDB RDS for PostgreSQL.

    Remarque
    • Pour vous connecter depuis une instance ECS en utilisant un point de terminaison interne, assurez-vous que l'instance ECS et l'instance ApsaraDB RDS for PostgreSQL utilisent le même type de réseau. Si les deux instances se trouvent dans un VPC, elles doivent résider dans le même VPC.

    • Pour vous connecter depuis un hôte local ou une instance ECS en utilisant un point de terminaison public, assurez-vous qu'un point de terminaison public est activé pour l'instance.

    username

    Le nom d'utilisateur du compte privilégié de l'instance ApsaraDB RDS for PostgreSQL.

    port

    Le numéro de port de l'instance ApsaraDB RDS for PostgreSQL.

    dbname

    Le nom de la base de données à restaurer.

    -c (facultatif)

    L'option -c supprime les objets de base de données existants avant de les recréer. Pour plus d'informations sur les autres options, consultez la documentation officielle de pg_restore.

    dumpdir

    Le chemin d'accès et le nom du fichier de sauvegarde.

    Exemple :

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
  2. À l'invite Password:, saisissez le mot de passe du compte privilégié de l'instance et appuyez sur Entrée.

    [root@iZbpxxx ~]# pg_restore -h 'pgm-xxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
    Password:
    [root@iZbpxxx ~]#
    Remarque

    Vous pouvez ignorer les avertissements concernant l'extension plpgsql intégrée.

Restaurer une table spécifique

  1. Connectez-vous à l'instance ECS ou à l'hôte local où sont stockées les données de sauvegarde et exécutez la commande suivante pour restaurer une table spécifique.

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

    Paramètre

    Description

    hostname

    Le point de terminaison de l'instance ApsaraDB RDS for PostgreSQL.

    Remarque
    • Pour vous connecter depuis une instance ECS en utilisant un point de terminaison interne, assurez-vous que l'instance ECS et l'instance ApsaraDB RDS for PostgreSQL utilisent le même type de réseau. Si les deux instances se trouvent dans un VPC, elles doivent résider dans le même VPC.

    • Pour vous connecter depuis un hôte local ou une instance ECS en utilisant un point de terminaison public, assurez-vous qu'un point de terminaison public est activé pour l'instance.

    username

    Le nom d'utilisateur du compte privilégié de l'instance ApsaraDB RDS for PostgreSQL.

    port

    Le numéro de port de l'instance ApsaraDB RDS for PostgreSQL.

    dbname

    Le nom de la base de données à restaurer.

    table

    Le nom de la table à restaurer.

    -c (facultatif)

    L'option -c supprime les objets de base de données existants avant de les recréer. Pour plus d'informations sur les autres options, consultez la documentation officielle de pg_restore.

    dumpdir

    Le chemin d'accès et le nom du fichier de sauvegarde.

    Exemple :

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
  2. À l'invite Password:, saisissez le mot de passe du compte privilégié de l'instance et appuyez sur Entrée.

    [root@iZbpxxx ~]# pg_restore -h 'pgm-bpxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
    Password:
    [root@iZbpxxx ~]#

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

  1. Connectez-vous à l'instance ECS ou à l'hôte local où sont stockées les données de sauvegarde et exécutez la commande suivante pour restaurer uniquement le schéma de la base de données.

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

    Paramètre

    Description

    hostname

    Le point de terminaison de l'instance ApsaraDB RDS for PostgreSQL.

    Remarque
    • Pour vous connecter depuis une instance ECS en utilisant un point de terminaison interne, assurez-vous que l'instance ECS et l'instance ApsaraDB RDS for PostgreSQL utilisent le même type de réseau. Si les deux instances se trouvent dans un VPC, elles doivent résider dans le même VPC.

    • Pour vous connecter depuis un hôte local ou une instance ECS en utilisant un point de terminaison public, assurez-vous qu'un point de terminaison public est activé pour l'instance.

    username

    Le nom d'utilisateur du compte privilégié de l'instance ApsaraDB RDS for PostgreSQL.

    port

    Le numéro de port de l'instance ApsaraDB RDS for PostgreSQL.

    dbname

    Le nom de la base de données cible.

    -s

    L'option -s restaure uniquement le schéma (définition des données), et non les données. Pour plus d'informations sur les autres options, consultez la documentation officielle de pg_restore.

    dumpdir

    Le chemin d'accès et le nom du fichier de sauvegarde.

    Exemple :

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
  2. À l'invite Password:, saisissez le mot de passe du compte privilégié de l'instance et appuyez sur Entrée.

    [root@iZbpxxx ~]# pg_restore -h 'pgm-bpxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
    Password:
    [root@iZbpxxx ~]#
    Remarque

    Vous pouvez ignorer les avertissements concernant l'extension plpgsql intégrée.