我创建了一个名称中间带有连字符的数据库,其中createdb
. 这成功地创建了数据库,但是在psql
交互式客户端中,如果我尝试这样的命令,则会出现语法错误:
ALTER DATABASE my-database SET SCHEMA = myschema,public;
psql
在“-”处或附近抱怨语法错误
是否有一些关于什么是有效的 PostgreSQL 数据库名称的文档?
我应该只下划线而不是连字符吗?
我创建了一个名称中间带有连字符的数据库,其中createdb
. 这成功地创建了数据库,但是在psql
交互式客户端中,如果我尝试这样的命令,则会出现语法错误:
ALTER DATABASE my-database SET SCHEMA = myschema,public;
psql
在“-”处或附近抱怨语法错误
是否有一些关于什么是有效的 PostgreSQL 数据库名称的文档?
我应该只下划线而不是连字符吗?
您询问的文档在这里:
http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
大多数人只是坚持使用小写字母、数字和下划线——以避免一直输入引号。
尝试将其放在双引号中:
ALTER DATABASE "my-database" SET SCHEMA = myschema,public;
我遇到了一个问题,以上答案对我有所帮助。所以在dbname上分享场景
场景:我尝试使用 PG admin III 更改数据库名称。我的数据库名称是 My_Database
运行以下查询失败:
ALTER DATABASE My_Database RENAME TO dba;
ALTER DATABASE [My_Database] RENAME TO dba;
ALTER DATABASE 'My_Database' RENAME TO dba;
然后我在下面尝试并成功
ALTER DATABASE "My_Database" RENAME TO dba;