什么是有效的PostgreSQL数据库名称?

dan*_*dan 29 postgresql

我创建了一个在名称中间带有连字符的数据库createdb.这成功创建了数据库,但在psql交互式客户端中,如果我尝试这样的命令,我会收到语法错误:

ALTER DATABASE my-database SET SCHEMA = myschema,public;

psql 在" - "或附近抱怨语法错误

是否有一些文件可以作为有效的PostgreSQL数据库名称?

我应该强调而不是连字符吗?

kgr*_*ttn 30

您询问的文档在这里:

http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

大多数人只是坚持使用小写字母,数字和下划线 - 以避免始终键入引号.


Ada*_* M. 18

试着把它放在双引号中:

ALTER DATABASE "my-database" SET SCHEMA = myschema,public;

  • 我不会亲自,但关于命名约定的争论在堆栈的其他地方有很好的记录. (3认同)