如何在pgAdmin 4中重命名当前数据库?解决ERROR: current database cannot be renamed报错
在pgAdmin 4中正确重命名数据库的解决办法
嘿,这个报错我太熟了——PostgreSQL的安全规则里明确禁止在当前连接的目标数据库上直接重命名它,这就是你看到ERROR: current database cannot be renamed的原因。别头疼,我给你一步步拆解pgAdmin里的正确操作流程:
方法一:图形界面操作(小白友好)
- 先断开目标数据库的连接:在pgAdmin左侧对象浏览器里找到要重命名的数据库,右键点击它,选择Disconnect Database(如果显示的是「Connect」,说明本来就没连接,直接跳过这步)。
- 切换到管理数据库:找到PostgreSQL默认自带的
postgres数据库(这是专门用来做管理操作的安全库),右键点击选择Connect Database,输入你的数据库密码登录。 - 修改数据库名称:回到要重命名的数据库,右键点击选择Properties,在弹出窗口的「General」标签页里,把「Database」字段的旧名称改成新名称,最后点击Save就完成了。
方法二:SQL命令操作(高效快捷)
如果更习惯用命令行/查询工具,也可以这么干:
- 确保你当前连接的不是要重命名的数据库(比如连接到
postgres库) - 执行重命名命令:
ALTER DATABASE 旧数据库名称 RENAME TO 新数据库名称;
小提示:如果有其他用户正连接到这个要改的数据库,重命名会失败。可以先执行下面的命令强制断开所有外部连接:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '旧数据库名称' AND pid <> pg_backend_pid();
执行完断开命令后,再跑重命名的SQL就没问题了。
内容的提问来源于stack exchange,提问作者user9510274
相关产品推荐
相关产品推荐

