Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Use pg_restore to restore logical backup data

Última atualização: Oct 09, 2026

Este tópico descreve como usar o comando pg_restore para restaurar dados de um arquivo de backup lógico (.dump) em uma instância do ApsaraDB RDS for PostgreSQL ou em um banco de dados PostgreSQL local.

Nota
  • Para pequenos volumes de dados, como os de uma única tabela, use um backup lógico para recuperação rápida. Para grandes volumes, recomendamos restaurar os dados de um backup físico completo em uma nova instância e, em seguida, usar o Data Transmission Service (DTS) para migrar os dados de volta para a instância original.

  • Para obter mais informações sobre métodos de recuperação de dados, consulte Recuperar.

Pré-requisitos

Crie um backup lógico dos seus dados do PostgreSQL.

Observações de uso

  • Não se conecte ao banco de dados padrão postgres durante a restauração dos dados.

  • Restaurar uma tabela específica não recupera outros objetos de banco de dados dos quais ela depende. Portanto, a operação pode falhar ao restaurar em um banco de dados limpo.

Restaurar um banco de dados

  1. Faça logon na instância ECS ou no host local onde os dados de backup estão armazenados e execute o seguinte comando para restaurar o banco de dados.

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

    Parâmetro

    Descrição

    hostname

    O endpoint da instância do ApsaraDB RDS for PostgreSQL.

    Nota
    • Para conectar-se a partir de uma instância ECS usando um endpoint interno, verifique se a instância ECS e a instância do ApsaraDB RDS for PostgreSQL usam o mesmo tipo de rede. Se ambas estiverem em uma vpc, devem residir na mesma vpc.

    • Para conectar-se a partir de um host local ou de uma instância ECS usando um endpoint público, garanta que um endpoint público esteja ativado para a instância.

    username

    O nome de usuário da conta privilegiada da instância do ApsaraDB RDS for PostgreSQL.

    port

    O número da porta da instância do ApsaraDB RDS for PostgreSQL.

    dbname

    O nome do banco de dados a ser restaurado.

    -c (opcional)

    A opção -c remove os objetos de banco de dados existentes antes de recriá-los. Para mais detalhes sobre outras opções, consulte a documentação oficial do pg_restore.

    dumpdir

    O caminho e o nome do arquivo de backup.

    Exemplo:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
  2. Quando solicitado o Password:, insira a senha da conta privilegiada da instância e pressione Enter.

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

    Ignore quaisquer avisos relacionados à extensão integrada plpgsql.

Restaurar uma tabela específica

  1. Faça logon na instância ECS ou no host local onde os dados de backup estão armazenados e execute o seguinte comando para restaurar uma tabela específica.

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

    Parâmetro

    Descrição

    hostname

    O endpoint da instância do ApsaraDB RDS for PostgreSQL.

    Nota
    • Para conectar-se a partir de uma instância ECS usando um endpoint interno, verifique se a instância ECS e a instância do ApsaraDB RDS for PostgreSQL usam o mesmo tipo de rede. Se ambas estiverem em uma vpc, devem residir na mesma vpc.

    • Para conectar-se a partir de um host local ou de uma instância ECS usando um endpoint público, garanta que um endpoint público esteja ativado para a instância.

    username

    O nome de usuário da conta privilegiada da instância do ApsaraDB RDS for PostgreSQL.

    port

    O número da porta da instância do ApsaraDB RDS for PostgreSQL.

    dbname

    O nome do banco de dados a ser restaurado.

    table

    O nome da tabela a ser restaurada.

    -c (opcional)

    A opção -c remove os objetos de banco de dados existentes antes de recriá-los. Para mais detalhes sobre outras opções, consulte a documentação oficial do pg_restore.

    dumpdir

    O caminho e o nome do arquivo de backup.

    Exemplo:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
  2. Quando solicitado o Password:, insira a senha da conta privilegiada da instância e pressione Enter.

    [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 ~]#

Restaurar apenas o schema do banco de dados

  1. Faça logon na instância ECS ou no host local onde os dados de backup estão armazenados e execute o seguinte comando para restaurar apenas o schema do banco de dados.

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

    Parâmetro

    Descrição

    hostname

    O endpoint da instância do ApsaraDB RDS for PostgreSQL.

    Nota
    • Para conectar-se a partir de uma instância ECS usando um endpoint interno, verifique se a instância ECS e a instância do ApsaraDB RDS for PostgreSQL usam o mesmo tipo de rede. Se ambas estiverem em uma vpc, devem residir na mesma vpc.

    • Para conectar-se a partir de um host local ou de uma instância ECS usando um endpoint público, garanta que um endpoint público esteja ativado para a instância.

    username

    O nome de usuário da conta privilegiada da instância do ApsaraDB RDS for PostgreSQL.

    port

    O número da porta da instância do ApsaraDB RDS for PostgreSQL.

    dbname

    O nome do banco de dados de destino.

    -s

    A opção -s restaura apenas o schema (definição de dados), sem incluir os dados. Para mais detalhes sobre outras opções, consulte a documentação oficial do pg_restore.

    dumpdir

    O caminho e o nome do arquivo de backup.

    Exemplo:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
  2. Quando solicitado o Password:, insira a senha da conta privilegiada da instância e pressione Enter.

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

    Ignore quaisquer avisos relacionados à extensão integrada plpgsql.