0

We have an AWS RDS PostgreSQL 11 cluster (currently version 11.13), in which we have a few databases and some 1500 tables. The RDS cluster is of size "db.r5.xlarge", with 4 vCPUs, 32 GB RAM and general purpose SSD (gp2) storage. Currently the cluster has about 15 TB of data.

We now need to upgrade to the latest database server version, and are planning to take this opportunity to switch from a pure PostgreSQL cluster to an Aurora PostgreSQL instance, in the hope that this will be more efficient.

According to AWS documentation, there are four options that can be used:

  1. Migrating an RDS for PostgreSQL DB instance using a snapshot
  2. Migrating an RDS for PostgreSQL DB instance using an Aurora read replica
  3. Importing S3 data into Aurora PostgreSQL
  4. Migrating from a database that is not PostgreSQL-compatible

Option 4 does not apply to our case as our existing database server is PostgreSQL. Option 3 is tedious and time-consuming, as tables need to be imported one at a time, with several steps required per table. The only feasible remaining options for us thus are 1 and 2.

As I understand it, the migration process will involve following steps:

  1. Create new Aurora PostgreSQL instance with version 11.13 (target Aurora PostgreSQL server must have the same major and the same or higher minor version as the source PostgreSQL server).
  2. Import data using either option 1. or 2. above.
  3. Upgrade Aurora PostgreSQL instance from version 11.13 to 14.3.

My questions now are:

  1. Is my understanding of all of the above correct?
  2. Which of the options for importing data, i.e. either using a snapshot or using an Aurora read replica, is likely to be faster given the size of our database?
5
  • Just a small note - "instance" is an Oracle term, the term PostgreSQL uses is "cluster". Just an FYI!
    – Vérace
    Commented Aug 24, 2022 at 10:30
  • @Vérace, you are right that PostgreSQL refers to "clusters", yet in AWS this is an RDS "instance".
    – Robert
    Commented Aug 24, 2022 at 11:01
  • My bad - do you want me to back out my changes? Thanks for pointing that out.
    – Vérace
    Commented Aug 24, 2022 at 11:08
  • "switch from a pure PostgreSQL cluster to an Aurora PostgreSQL instance, in the hope that this will be more efficient." I would not do this on the mere basis of hope.
    – jjanes
    Commented Aug 24, 2022 at 13:06
  • @jjanes, this hope is based on the claim in the AWS Aurora documentation that "With some workloads, Aurora can deliver up to ... three times the throughput of PostgreSQL" (docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/…). Our hope is that our workloads belong to the mentioned "some workloads". This is hard to assess in advance, I'm afraid, as realistic performance assessments will likely require the large data volumes we are dealing with.
    – Robert
    Commented Aug 24, 2022 at 13:28

0