如何删除名称中带回车符的PostgreSQL数据库?

时间:2014-06-19 20:24:06

标签: postgresql special-characters

不知何故,通过代码恢复完成后,我得到了一个具有以下名称的数据库(来自\ l命令的模拟输出)

       Name       |
------------------|
 \r              +|
 DATABASE_NAME    |

我希望能够删除它,但我不知道如何通过DROPDB或DROP DATABASE命令指定正确构造名称以包含回车符。

如果我不能删除它 - 我可以更改所有者以隐藏它 - 不包括指定名称吗?

Ubuntu上的PostgreSQL 9.2.4

2 个答案:

答案 0 :(得分:2)

do $$
begin
    execute format('drop database %I', E'\rDATABASE_NAME');
end;
$$

Rahul的回答应该是

drop database U&"\000ADATABASE_NAME";

答案 1 :(得分:1)

使用unicode进行换行,同时删除数据库,如下所示

drop database U&"\000ADATABASE_NAME";

你也可以ALTER这个名字,如

alter database U&"\000ADATABASE_NAME" rename to "DATABASE_NAME_NEW";