Todos los productos
Search
Centro de documentos

ApsaraDB RDS:Uso de pg_restore para restaurar datos de una copia de seguridad lógica

Última actualización: Oct 09, 2026

Este tema describe cómo usar el comando pg_restore para restaurar datos desde un archivo de copia de seguridad lógica (.dump) hacia una instancia de ApsaraDB RDS for PostgreSQL o una base de datos PostgreSQL local.

Nota
  • Para volúmenes pequeños de datos, como los de una sola tabla, puede utilizar una copia de seguridad lógica y lograr una recuperación rápida. Si maneja grandes cantidades de datos, se recomienda restaurar los datos desde una copia de seguridad física completa en una nueva instancia y luego usar Data Transmission Service (DTS) para migrate the data back to the original instance.

  • Para obtener más información sobre los métodos de recuperación de datos, consulte Recover.

Requisitos previos

Ya creó una logical backup of your PostgreSQL data.

Notas de uso

  • No se conecte a la base de datos postgres predeterminada mientras restaura los datos.

  • Restaurar una tabla específica no recupera otros objetos de la base de datos de los que depende dicha tabla. Por lo tanto, la operación podría fallar si se restaura sobre una base de datos vacía.

Restauración de una base de datos

  1. Inicie sesión en la instancia de ECS o en el host local donde se almacenan los datos de la copia de seguridad. Luego, ejecute el siguiente comando para restaurar la base de datos.

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

    Parámetro

    Descripción

    hostname

    El endpoint de la instancia de ApsaraDB RDS for PostgreSQL.

    Nota
    • Si va a conectarse desde una instancia de ECS mediante una internal endpoint, asegúrese de que la instancia de ECS y la instancia de ApsaraDB RDS for PostgreSQL utilicen el mismo tipo de red. Cuando ambas instancias están en una VPC, deben residir en la misma VPC.

    • Si la conexión se establece desde un host local o una instancia de ECS mediante una public endpoint, asegúrese de que exista una public endpoint is enabled para la instancia.

    username

    El nombre de usuario de la cuenta con privilegios de la instancia de ApsaraDB RDS for PostgreSQL.

    port

    El número de puerto de la instancia de ApsaraDB RDS for PostgreSQL.

    dbname

    El nombre de la base de datos que desea restaurar.

    -c (opcional)

    La opción -c elimina los objetos existentes de la base de datos antes de volver a crearlos. Para obtener más información sobre otras opciones, consulte la documentación oficial de pg_restore.

    dumpdir

    La ruta y el nombre del archivo de copia de seguridad.

    Ejemplo:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
  2. Cuando aparezca el mensaje Password:, introduzca la contraseña de la cuenta con privilegios de la instancia y presione 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

    Puede ignorar cualquier advertencia relacionada con la extensión integrada plpgsql.

Restauración de una tabla específica

  1. Inicie sesión en la instancia de ECS o en el host local donde se almacenan los datos de la copia de seguridad. Después, ejecute el siguiente comando para restaurar una tabla específica.

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

    Parámetro

    Descripción

    hostname

    El endpoint de la instancia de ApsaraDB RDS for PostgreSQL.

    Nota
    • Si va a conectarse desde una instancia de ECS mediante una internal endpoint, asegúrese de que la instancia de ECS y la instancia de ApsaraDB RDS for PostgreSQL utilicen el mismo tipo de red. Cuando ambas instancias están en una VPC, deben residir en la misma VPC.

    • Si la conexión se establece desde un host local o una instancia de ECS mediante una public endpoint, asegúrese de que exista una public endpoint is enabled para la instancia.

    username

    El nombre de usuario de la cuenta con privilegios de la instancia de ApsaraDB RDS for PostgreSQL.

    port

    El número de puerto de la instancia de ApsaraDB RDS for PostgreSQL.

    dbname

    El nombre de la base de datos que desea restaurar.

    table

    El nombre de la tabla que desea restaurar.

    -c (opcional)

    La opción -c elimina los objetos existentes de la base de datos antes de volver a crearlos. Para obtener más información sobre otras opciones, consulte la documentación oficial de pg_restore.

    dumpdir

    La ruta y el nombre del archivo de copia de seguridad.

    Ejemplo:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
  2. Cuando aparezca el mensaje Password:, introduzca la contraseña de la cuenta con privilegios de la instancia y presione 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 ~]#

Restauración exclusiva del esquema de una base de datos

  1. Inicie sesión en la instancia de ECS o en el host local donde se almacenan los datos de la copia de seguridad. A continuación, ejecute el siguiente comando para restaurar únicamente el esquema de la base de datos.

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

    Parámetro

    Descripción

    hostname

    El endpoint de la instancia de ApsaraDB RDS for PostgreSQL.

    Nota
    • Si va a conectarse desde una instancia de ECS mediante una internal endpoint, asegúrese de que la instancia de ECS y la instancia de ApsaraDB RDS for PostgreSQL utilicen el mismo tipo de red. Cuando ambas instancias están en una VPC, deben residir en la misma VPC.

    • Si la conexión se establece desde un host local o una instancia de ECS mediante una public endpoint, asegúrese de que exista una public endpoint is enabled para la instancia.

    username

    El nombre de usuario de la cuenta con privilegios de la instancia de ApsaraDB RDS for PostgreSQL.

    port

    El número de puerto de la instancia de ApsaraDB RDS for PostgreSQL.

    dbname

    El nombre de la base de datos de destino.

    -s

    La opción -s restaura únicamente el esquema (definición de datos), sin incluir los datos. Para obtener más información sobre otras opciones, consulte la documentación oficial de pg_restore.

    dumpdir

    La ruta y el nombre del archivo de copia de seguridad.

    Ejemplo:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
  2. Cuando aparezca el mensaje Password:, introduzca la contraseña de la cuenta con privilegios de la instancia y presione 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

    Puede ignorar cualquier advertencia relacionada con la extensión integrada plpgsql.