I have an AWS RDS instance with multiple PostgreSQL databases in there including an application database and a monitoring database. The problem is that the monitoring database is consuming lots of resources and causes performance problems in the whole instance, so I'd like to have the application database and the monitoring database in different AWS RDS instances.
I have been investigating the issue and I've found that people are interested in having all their databases running on the same instance, while what I'm looking for is the other way around, so I'm wondering if I'm missing something.
The solutions that I've found are basically as follows:
Use an AWS RDS snapshot
This should be easy to do, but snapshots are at the instance level and I don't want to copy all databases, but just a single one.
Use the AWS Database Migration Service
The database migration service looks like a good approach because it uses a replication instance to make sure that all data written to the database while the migration task is running is captured. Unfortunately, I don't see how to use it for a single database.
Create a new instances and use
pg_dump
/pg_restore
manually.This approach seems the easiest one, but I'd need to make sure that either the application or the monitoring service are stopped while this is running.
So far, it seems to me that the right solution is the third one for its simplicity. Do you see any advantage/disadvantage that I might have overlooked?