Working with AWS RDS isn’t always the easiest. That’s the limitations that come with hosted solutions. /shrugs/
For example, you can’t change master username once an instance has been spawned, not even on an instance restored from a snapshot.
But I did figure out how to change a Postgres RDS instance’s database name. To do this, we’ll need terminal connection to the database:
$ psql -U james_holden -h my-database-identifier.abc123.us-west-2.rds.amazonaws.com -d donnager
$ password for james_holden: # provide your db password here
At this point, if you attempted to change the database name, Postgres will complain immediately:
donnager=> ALTER DATABASE donnager RENAME TO rocinate;
donnager=> ERROR: current database cannot be renamed
However, if you get out of the connected db, switch to the standard “postgres” db, it’s all fair game:
donnager=> \c postgres
psql (9.5.5, server 9.5.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
You are now connected to database "postgres" as user "james_holden".
postgres=> ALTER DATABASE donnager RENAME TO rocinate;
Peace is restored again.