Utilice pg_dump para crear una copia de seguridad lógica de una instancia de ApsaraDB RDS for PostgreSQL y exportar el archivo de copia de seguridad para almacenamiento local o migración.
pg_dump realiza la copia de seguridad de una base de datos a la vez. Para consultar la referencia oficial, visite pg_dump.
Requisitos previos
Antes de empezar, asegúrese de que:
La dirección IP de su instancia de Elastic Compute Service (ECS) o de su host local esté agregada a la lista de permitidos de direcciones IP de la instancia de RDS. Para obtener más información, consulte Configure an IP address whitelist.
Su instancia de ECS o host local ejecute la misma versión de PostgreSQL que su instancia de RDS.
Los ejemplos de este tema utilizan CentOS 7 y PostgreSQL 15.
Notas de uso
Utilice la cuenta con privilegios de la instancia de RDS para ejecutar pg_dump. Para obtener instrucciones sobre cómo crear una cuenta con privilegios, consulte Create an account.
Selección de endpoint
Todos los comandos de copia de seguridad requieren un endpoint de conexión (-h). Elija según su configuración de red:
Endpoint interno: La instancia de ECS y la instancia de RDS deben usar el mismo tipo de red. Si ambas utilizan Virtual Private Cloud (VPC), deben residir en la misma VPC. Para obtener más información, consulte View and change the endpoints and port numbers of an ApsaraDB RDS for PostgreSQL instance.
Endpoint público: Se debe asignar un endpoint público a la instancia de RDS antes de utilizarlo. Para obtener más información, consulte View and change the endpoints and port numbers y Apply for or release a public endpoint.
Realizar una copia de seguridad de una base de datos
Inicie sesión en su instancia de ECS o host local y ejecute:
pg_dump -h '<hostname>' -U <username> -p <port> -Fc <dbname> > <dumpdir>
Parámetros
|
Parámetro |
Descripción |
|
|
El endpoint de la instancia de RDS. |
|
|
El nombre de usuario de la cuenta con privilegios. |
|
|
El puerto de la instancia de RDS. |
|
|
Genera la salida en formato personalizado. Es obligatorio para |
|
|
El nombre de la base de datos de la que se realizará la copia de seguridad. |
|
|
La ruta de salida y el nombre del archivo de copia de seguridad. |
Ejemplo
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -Fc zht01 > /tmp/testdb.dump
Introduzca la contraseña de la cuenta con privilegios cuando se le solicite y presione Enter.
Para comprobar que se creó el archivo de copia de seguridad (Linux):
ll /tmp/testdb.dump

Realizar una copia de seguridad de una o varias tablas
Inicie sesión en su instancia de ECS o host local y ejecute:
pg_dump -h '<hostname>' -U <username> -p <port> -t <Schema>.<table> -Fc <dbname> > <dumpdir>
Agregue -t <Schema>.<table> varias veces para incluir tablas adicionales.
Parámetro adicional
|
Parámetro |
Descripción |
|
|
La tabla de la que se realizará la copia de seguridad, especificada como |
Para los parámetros restantes (hostname, username, port, -Fc, dbname, dumpdir), consulte Realizar una copia de seguridad de una base de datos.
Ejemplo
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -t zhttest0808 -Fc zht01 > /tmp/testdb2.dump
Introduzca la contraseña de la cuenta con privilegios cuando se le solicite y presione Enter.
Para comprobar que se creó el archivo de copia de seguridad (Linux):
ll /tmp/testdb2.dump

Realizar una copia de seguridad de una base de datos excluyendo tablas
Inicie sesión en su instancia de ECS o host local y ejecute:
pg_dump -h '<hostname>' -U <username> -p <port> -T <table> -Fc <dbname> > <dumpdir>
Agregue -T <table> varias veces para excluir tablas adicionales.
Parámetro adicional
|
Parámetro |
Descripción |
|
|
La tabla que se excluirá de la copia de seguridad. |
Para los parámetros restantes, consulte Realizar una copia de seguridad de una base de datos.
Ejemplo
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -T zhttest0808 -Fc zht01 > /tmp/testdb3.dump
Introduzca la contraseña de la cuenta con privilegios cuando se le solicite y presione Enter.
Para comprobar que se creó el archivo de copia de seguridad (Linux):
ll /tmp/testdb3.dump

Realizar una copia de seguridad del esquema de una base de datos
Inicie sesión en su instancia de ECS o host local y ejecute:
pg_dump -h '<hostname>' -U <username> -p <port> -s -Fc <dbname> > <dumpdir>
Parámetro adicional
|
Parámetro |
Descripción |
|
|
Realiza la copia de seguridad únicamente del esquema de la base de datos. No se incluyen los datos. |
Para los parámetros restantes, consulte Realizar una copia de seguridad de una base de datos.
Ejemplo
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -s -Fc zht01 > /tmp/testdb4.dump
Introduzca la contraseña de la cuenta con privilegios cuando se le solicite y presione Enter.
Para comprobar que se creó el archivo de copia de seguridad (Linux):
ll /tmp/testdb4.dump

Pasos siguientes
Para restaurar datos desde un archivo de copia de seguridad lógica, consulte Restore data from a logical backup file.