Interview › Databases & Caching
How do you test that an application is compatible before a database major upgrade?
Databases & Caching · Basic level
Answer
For a major RDS upgrade, I avoid untested in-place changes on critical systems. I prefer blue/green deployment, logical replication, DMS, or a replica-style approach so most upgrade work and validation happens away from production before a controlled cutover.
Technical explanation
Major upgrades can change query plans, parameters, extensions, authentication behavior, reserved words, and client compatibility.
Blue/green reduces risk by creating a synchronized green environment where the new version can be tested before switchover.
Rollback must be designed before cutover; after writes hit the new version, rollback may require restore or reverse migration.
Hands-on example
Upgrade runbook:
1. Restore prod snapshot to staging and upgrade it.
2. Run app regression, migrations, batch jobs, and top SQL comparisons.
3. Create blue/green or logical target.
4. Freeze schema changes.
5. Cut over during approved window.
6. Monitor p95 latency, DB load, locks, error rate, and slow queries.
7. Keep old environment read-only until rollback window expires.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Databases & Caching interview questions
- What is Amazon RDS, and what does it manage for you versus self-managed databases?
- What database engines does RDS support?
- What is the difference between RDS and Aurora?
- What is Multi-AZ in RDS, and how does automatic failover work?
- How long does an RDS Multi-AZ failover typically take, and what triggers it?
- What is the difference between Multi-AZ and a read replica?
- When would you use a read replica, and can it become a standalone database?
- Can a read replica be in a different region, and why would you do that?