Step 3: Create Your Target Amazon RDS for PostgreSQL Database - Database Migration Guide

Step 3: Create Your Target Amazon RDS for PostgreSQL Database

In this step, you create a new Amazon RDS for PostgreSQL database to use as a migration target. Also, you configure a new database user on your target Amazon RDS for PostgreSQL database.

If you already created the target database, skip this step and proceed with the configuration of your database user.

To create an Amazon RDS for PostgreSQL database for homogeneous data migrations

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. Choose your AWS Region.

  3. Choose Create database.

  4. For Engine type, choose PostgreSQL.

  5. For Templates, choose Free tier.

  6. For DB instance identifier, enter a unique name for your PostgreSQL database.

  7. For Master password and Confirm master password, enter a secure password that includes at least 8 printable characters.

  8. For Virtual private cloud (VPC) under Connectivity, choose dm-vpc. You created this VPC in Step 1.

  9. For Public access, choose Yes.

  10. Keep the rest of the settings as they are, and then choose Create database.

After you create your Amazon RDS for PostgreSQL database, configure a new database user. Then, store the credentials of this user in AWS Secrets Manager.

You can use the following code example to create a database user with the required permissions.

CREATE USER your_user WITH LOGIN PASSWORD 'your_password'; GRANT USAGE ON SCHEMA schema_name TO your_user; GRANT CONNECT ON DATABASE db_name to your_user; GRANT CREATE ON DATABASE db_name TO your_user; GRANT CREATE ON SCHEMA schema_name TO your_user; GRANT UPDATE, INSERT, SELECT, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA schema_name TO your_user;

In the preceding example, replace your_user with the name of your user. Next, replace your_password with a secure password. Finally, replace db_name and schema_name with your values.

To turn on logical replication for your RDS for PostgreSQL target, set the rds.logical_replication parameter in your DB parameter group to 1. This static parameter requires a reboot of the DB instance or DB cluster to take effect. Some parameters are static, and you can only set them at server start. AWS DMS ignores changes to their entries in the DB parameter group until you restart the server.