‘Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business.’ – Amazon RDS Website
Amazon RDS uses UTC by default. Personally, I think systems should use UTC by
default, but at my work place, all systems are in IST, which means we want the
RDS to work in IST too. So, we have this hack of setting the
set time_zone = 'Asia/Kolkata';. This works great, except when
you have to restart RDS. We’ve had to restart our instance twice so far, both
times leading to considerable downtime, pain, and grief because of this hack
(thankfully, the RDS machine is a backup machine and not used in production).
When it happened the first time, my ex-colleague did the modification and all
I did note down was to remove the
init_connect parameter. When it happened
the second time, I remembered and set the
init_connect parameter to an empty
string, which I thought would work. Unfortunately, it didn’t. We talked to
Amazon Support and now I know that when it happens, I should not be setting it
to an empty value, but resetting instead.
rds-reset-db-parameter-group my-params --parameters 'name=init_connect,method=immediate'
This post is for all those poor souls who might make the same mistake as me as well as a note to myself (though I suspect I’ll never forget this lesson :P) :-)