PostgreSQL中连字符( - )的转义序列是什么

Sha*_*hne 46 sql postgresql escaping

我正在尝试将数据库重命名为带有连字符( - )的名称.

ALTER DATABASE one RENAME TO one-two;
Run Code Online (Sandbox Code Playgroud)

并且psql返回错误:

ERROR:  syntax error at or near "-"
Run Code Online (Sandbox Code Playgroud)

我应该使用什么作为" - "字符的转义序列或者上述方法是什么?

注意:我尝试了'\ - '并且没有用.

谢谢.

Joe*_*lli 67

双引号应该这样做.但是你必须始终在引用数据库的任何地方使用quoted-identifier.

ALTER DATABASE one RENAME TO "one-two";
Run Code Online (Sandbox Code Playgroud)


小智 5

混合双引号和单引号,如下所示:

psql --command='create database "db-name-with-dashes"'
Run Code Online (Sandbox Code Playgroud)