PostgreSQL中可见但无法删除/重命名数据库的解决方法咨询
解决PostgreSQL大小写敏感数据库无法删除/重命名的问题
核心原因
PostgreSQL默认会把未加双引号的标识符(比如数据库名)转为小写。如果你的数据库是用带双引号的"magnus2_2024K"创建的,直接用无引号的magnus2_2024K执行命令时,会被自动转成magnus2_2024k,自然找不到目标数据库。
解决方法
执行删除或重命名命令时,给数据库名加上双引号,强制PostgreSQL识别大小写:
1. 重命名数据库
ALTER DATABASE "magnus2_2024K" RENAME TO magnus2_2024X;
2. 删除数据库
DROP DATABASE "magnus2_2024K";
注意:执行删除命令前,必须确保没有任何连接在使用该数据库,否则会报错。可以先执行以下命令查询并终止目标数据库的所有连接:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'magnus2_2024K';
验证操作
执行完命令后,再次执行\list查看数据库列表,确认目标数据库已被重命名或删除。
内容的提问来源于stack exchange,提问作者user1479670
相关产品推荐
相关产品推荐

