Importación de una base de datos de PostgreSQL desde una instancia Amazon EC2 - Amazon Relational Database Service

Importación de una base de datos de PostgreSQL desde una instancia Amazon EC2

Si tiene datos en un servidor de PostgreSQL en una instancia de Amazon EC2 y desea moverlos a una instancia de base de datos de PostgreSQL, puede seguir este proceso para migrar los datos.

  1. Use pg_dump para crear un archivo que contenga los datos que se van a cargar

  2. Cree la instancia de base de datos de destino

  3. Use psql para crear la base de datos en la instancia de base de datos y cargar los datos

  4. Cree una instantánea de base de datos de la instancia de la base de datos

En las siguientes secciones. se proporciona más información sobre cada uno de los pasos mencionados anteriormente.

Paso 1: cree un archivo utilizando pg_dump que contiene los datos que se van a cargar

La utilidad pg_dump usa el comando COPY para crear un esquema y un volcado de datos de una base de datos de PostgreSQL. El script de volcado generado por pg_dump carga los datos en una base de datos con el mismo nombre y vuelve a crear las tablas, los índices y las claves externas. Puede usar el comando pg_restore y el parámetro -d para restaurar los datos en una base de datos con un nombre diferente.

Antes de crear el volcado de datos, debe consultar las tablas que se van a volcar para obtener un recuento de filas que le permita confirmar el recuento en la instancia de base de datos de destino.

El siguiente comando crea un archivo de volcado llamado mydb2dump.sql para una base de datos llamada mydb2.

prompt>pg_dump dbname=mydb2 -f mydb2dump.sql

Paso 2: cree la instancia de base de datos de destino

Cree la instancia de base de datos PostgreSQL de destino con la consola de Amazon RDS, la AWS CLI o la API. Cree la instancia con el ajuste de retención de backup definido en 0 y deshabilite el uso de Multi-AZ. Esto le permitirá acelerar la importación de los datos. Debe crear una instancia de base de datos en la instancia para poder volcar los datos. La base de datos puede tener el mismo nombre que la base de datos que contiene los datos volcados. Si lo prefiere, puede crear una base de datos con un nombre diferente. En este caso, puede usar el comando pg_restore y el parámetro -d para restaurar los datos en la base de datos que acaba de nombrar.

Por ejemplo, los siguientes comandos se pueden usar para volcar, restaurar y cambiar de nombre una base de datos.

pg_dump -Fc -v -h [endpoint of instance] -U [master username] [database] > [database].dump createdb [new database name] pg_restore -v -h [endpoint of instance] -U [master username] -d [new database name] [database].dump

Paso 3: use psql para crear la base de datos en la instancia de base de datos y cargar los datos

Puede usar la misma conexión que utilizó para ejecutar el comando pg_dump para conectar con la instancia de base de datos de destino y volver a crear la base de datos. Con psql, puede usar el nombre del usuario maestro y la contraseña maestra para crear la base de datos en la instancia de base de datos.

El ejemplo siguiente usa psql y un archivo de volcado llamado mydb2dump.sql para crear una base de datos llamada mydb2 en una instancia de base de datos PostgreSQL llamada mypginstance:

Para Linux, macOS o:Unix

psql \ -f mydb2dump.sql \ --host mypginstance.555555555555.aws-region.rds.amazonaws.com \ --port 8199 \ --username myawsuser \ --password password \ --dbname mydb2

En:Windows

psql ^ -f mydb2dump.sql ^ --host mypginstance.555555555555.aws-region.rds.amazonaws.com ^ --port 8199 ^ --username myawsuser ^ --password password ^ --dbname mydb2
nota

Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

Paso 4: cree una instantánea de base de datos de la instancia de base de datos

Una vez que haya comprobado que los datos se han cargado en su instancia de base de datos, es recomendable que cree una instantánea de base de datos de la instancia de base de datos PostgreSQL de destino. Las instantáneas de base de datos son copias de seguridad completos de una instancia de base de datos que se pueden usar para restaurarla a un estado conocido. Una instantánea de base de datos tomada inmediatamente después de la carga le evita tener que volver a cargar los datos en caso de error. También puede usar dicha instantánea para inicializar nuevas instancias de bases de datos. Para obtener más información acerca de la creación de una instantánea de base de datos, consulte Creación de una instantánea de base de datos para una instancia de base de datos single-AZ para Amazon RDS.