通过代码进行恢复,我以以下名称(从 \l 命令的模拟输出中得出)结束了一个数据库:
Name |
------------------|
\r +|
DATABASE_NAME |
我希望能够删除它,但是我不知道如何正确构造名称,以便在通过DROPDB或DROP数据库命令指定换行符时包括换行符。
如果我不能删除它-我可以更改所有者来隐藏它-这是否也涉及指定名称?
Ubuntu上的PostgreSQL 9.2.4
通过代码进行恢复,我以以下名称(从 \l 命令的模拟输出中得出)结束了一个数据库:
Name |
------------------|
\r +|
DATABASE_NAME |
我希望能够删除它,但是我不知道如何正确构造名称,以便在通过DROPDB或DROP数据库命令指定换行符时包括换行符。
如果我不能删除它-我可以更改所有者来隐藏它-这是否也涉及指定名称?
Ubuntu上的PostgreSQL 9.2.4
在像下面这样删除数据库时,使用unicode
进行换行
drop database U&"\000ADATABASE_NAME";
ALTER
命令来修改名称,例如:alter database U&"\000ADATABASE_NAME" rename to "DATABASE_NAME_NEW";
do $$
begin
execute format('drop database %I', E'\rDATABASE_NAME');
end;
$$
Rahul的回答应该是:
drop database U&"\000ADATABASE_NAME";
alter database U&"\000A\000DDATABASE_NAME";
。 - raycarnes[25001] 错误:无法从函数或多命令字符串中执行DROP DATABASE语句 位置:SQL语句“DROP DATABASE“ DATABASE”” PL/pgSQL函数inline_code_block第3行处的EXECUTE
- bigbear3001
SELECT hex(datname) FROM pg_database;
- bigbear3001