AWS RDS无法重命名数据库:控制台无修改选项、命令行报错如何解决
AWS RDS PostgreSQL数据库重命名操作方案
问题原因
AWS RDS实例创建时填写的初始数据库名称属于实例初始化级别的配置,创建完成后RDS控制台不提供直接修改入口,你在shell执行报错通常是因为连接了待修改的数据库、或是未终止该库的活跃会话导致。
正确操作步骤
- 第一步:使用RDS实例的master高权限账号,连接到实例默认的
postgres系统库,不要连接你待修改的postgrestestdatabase库(PostgreSQL不允许重命名当前处于连接状态的数据库) - 第二步:终止所有连接到
postgrestestdatabase的活跃会话,执行如下SQL:SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'postgrestestdatabase'; - 第三步:执行重命名命令,替换为你需要的新数据库名即可:
ALTER DATABASE postgrestestdatabase RENAME TO 你的新数据库名称;
注意事项
- 重命名操作会中断所有访问该数据库的业务请求,请在业务低峰期操作
- 重命名完成后,所有业务侧的数据库连接配置中的库名字段需要同步更新,否则会出现连接失败
- 若RDS实例开启了只读副本,库名重命名操作会自动同步到所有副本,无需单独操作
- 如果你需要修改的是RDS实例的显示名称(即实例标识符,和库名是两个独立配置),可以直接在控制台实例配置页选择「修改」,更新「DB实例标识符」即可完成修改
内容的提问来源于stack exchange,提问作者Prosy A.
相关产品推荐
相关产品推荐

