如何创建包含点的名称的Postgres数据库?

4
我正在尝试使用终端创建Postgres数据库,通常我们可以像这样创建数据库: CREATE DATABASE mydatabase; 但是我想用点号创建数据库,像这样: CREATE DATABASE my.database; 我曾尝试转义字符,但不起作用: CREATE DATABASE my.\database; CREATE DATABASE my\.database; 期望的输出结果是创建名为my.database的数据库。

1
创建数据库 "my.database";但是,由于 "." 用作模式、表、列等的分隔符,因此这可能会在以后导致问题。 - madflow
如何创建包含点的Postgres数据库名称?@madflow确实听起来像麻烦,因为它看起来像是主题发起者正在尝试从Java等语言中模拟命名空间... CREATE DATABASE“com.domain.type”CREATE DATABASE“com.domain.type.sub_type”..... - Raymond Nijland
1个回答

7
您应该使用以下命令创建数据库:create database "my.database";

5
应该跟上“但不要这样做,因为这是一个糟糕的主意”。 - 404
@404 是一个糟糕的错误提示。 - undefined
1
@ntdash 因为 . 用于将表名与模式分开,或将列与表分开。例如,SELECT * FROM schema1.table1SELECT a.id, b.val FROM (some join)。您也永远无法在不引用它的情况下使用该表。虽然在表名中使用点可能不违法,但您这样做会给自己和其他人在代码库上工作带来持续的困惑、错误,并且希望对您做出如此愚蠢的决定的人产生厌恶情绪。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接