PostgreSQL 语法 - DROP DTB
PostgreSQL sytax - DROP DTB
我创建了名称为 -encoding=UTF-8 的数据库(未点击)
无法删除数据库。
\l
name | owner | Encoding | Collate | Ctype
---------------------------------------------------------------------
-encoding=UTF-8 | test1 | UTF8 | en_US.UTF-8 | en_US.UTF-8
DROP DATABASE -encoding=UTF-8;
ERROR: syntax error at near "-"
LINE 1: DROP DATABASE -encoding=UTF-8;
我是否有机会删除数据库或者我必须重新安装 PostgreSQL?
有特殊字符的标识符需要用双引号括起来:
DROP DATABASE "-encoding=UTF-8";
标识符的使用方法详见手册:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
名称可能包含前导或尾随空白。要获得正确引用的标识符,您可以使用此查询:
select quote_ident(datname)
from pg_database;
-
通常不是对象名称中的合法字符。如果你想使用它,你应该用引号保护名称 ("
):
DROP DATABASE "-encoding=UTF-8";
我创建了名称为 -encoding=UTF-8 的数据库(未点击)
无法删除数据库。
\l
name | owner | Encoding | Collate | Ctype
---------------------------------------------------------------------
-encoding=UTF-8 | test1 | UTF8 | en_US.UTF-8 | en_US.UTF-8
DROP DATABASE -encoding=UTF-8;
ERROR: syntax error at near "-"
LINE 1: DROP DATABASE -encoding=UTF-8;
我是否有机会删除数据库或者我必须重新安装 PostgreSQL?
有特殊字符的标识符需要用双引号括起来:
DROP DATABASE "-encoding=UTF-8";
标识符的使用方法详见手册:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
名称可能包含前导或尾随空白。要获得正确引用的标识符,您可以使用此查询:
select quote_ident(datname)
from pg_database;
-
通常不是对象名称中的合法字符。如果你想使用它,你应该用引号保护名称 ("
):
DROP DATABASE "-encoding=UTF-8";