Hi.
We have a setup of 3 Postgres 9.2 nodes (1x master, 2x slaves) running on EC2 instances in AWS. We want to upgrade to 9.6 so we can move to Amazon RDS (it requires at least a 9.3.5 version).
As far as I know, we have 3 options here:
- From 9.2 on EC2 to RDS
- pg_dump on 9.2
- Restore it in RDS (might not work; haven't tested it)
- Get Slony replication working
- Setup slony in our 9.2 nodes.
- Get a fresh Postgres installation running Postgres 9.6
- Copy the database over (pg_basebackup)
- Start the replication (master 9.2 --> slave 9.2 --> slave 9.6)
- failover to 9.6
- re-create slaves from 9.6
- From 9.2 to 9.6 on EC2; then to RDS:
- upgrade the master 9.2 to 9.6
- re-create all slaves with 9.6
- after a while (months/weeks), use DMS or pg_dump/pg_restore and go for RDS
Because of downtime, Step 2 seems more with what we wanna go forward.
Questions are:
- At the moment I am using native Postgres streaming replication with two slaves. Do I need to install Slony on my master, and get rid of the native tool? and then re-create the slaves with slony?
- Slony or Bucardo are trigger-based replication solutions. That means DDL changes won't be propagated. This is not good as new tables can be added at any time. Isn't there a workaround for this?
Thanks!