如何删除名称中带有回车符的PostgreSQL数据库?
不知何故,通过代码进行恢复,我最终得到了一个名为以下的数据库(来自\l命令的模拟输出) 我希望能够删除它,但我不知道如何正确构造名称,以便在通过DROPDB或drop数据库命令指定时包含回车符 如果我不能删除它-我可以更改所有者以隐藏它-这不也包括指定名称吗如何删除名称中带有回车符的PostgreSQL数据库?,postgresql,special-characters,Postgresql,Special Characters,不知何故,通过代码进行恢复,我最终得到了一个名为以下的数据库(来自\l命令的模拟输出) 我希望能够删除它,但我不知道如何正确构造名称,以便在通过DROPDB或drop数据库命令指定时包含回车符 如果我不能删除它-我可以更改所有者以隐藏它-这不也包括指定名称吗 Ubuntu上的PostgreSQL 9.2.4使用unicode作为换行符,同时删除数据库,如下所示 drop database U&"\000ADATABASE_NAME"; 您还可以更改名称,如 alter database
Ubuntu上的PostgreSQL 9.2.4使用
unicode
作为换行符,同时删除数据库,如下所示
drop database U&"\000ADATABASE_NAME";
您还可以更改名称,如
alter database U&"\000ADATABASE_NAME" rename to "DATABASE_NAME_NEW";
拉胡尔的答案应该是
drop database U&"\000ADATABASE_NAME";
谢谢你指出那个错误。看到你的答案后,我编辑了我的答案。希望没问题。另外,我觉得你们应该在我的回答中也做出同样的评论。谢谢你们两位。最后帮助我的命令是:alterdatabaseu&“\000A\000DDATABASE\U NAME”代码>
do $$
begin
execute format('drop database %I', E'\rDATABASE_NAME');
end;
$$
drop database U&"\000ADATABASE_NAME";