你能否给我建议用postgresql中的数字开头创建表。
答案 0 :(得分:1)
使用双引号,例如:
t=# create table "42 Might be not The be$t idea" (i serial);
CREATE TABLE
t=# \d+ "42 Might be not The be$t idea"
Table "public.42 Might be not The be$t idea"
Column | Type | Modifiers | Storage | Stats target | Descript
ion
--------+---------+-----------------------------------------------------------------------------+---------+--------------+---------
----
i | integer | not null default nextval('"42 Might be not The be$t idea_i_seq"'::regclass) | plain | |
请仔细看看它会带来什么。一般使用混合大小写,特殊字符和数字的起始关系是一种不好的做法。尽管Postgres理解并使用这些关系名称,但您有可能遇到其他软件的错误。
没有经验,你很可能会在脚下射击自己。例如,pg_dump -t "badName"
无法工作。 Bash会将双引号理解为自己 - 并且它意味着以这种方式工作。因此,您必须指定pg_dump -t '"badName"'
才能找到该表。如果你没找到桌子就很幸运。当您在同一架构中有badname
和Badname
时,就会发生灾难。
它可行的事实并不意味着你应该开始使用它。