创建表,从postgresql中的数字开始

时间:2017-03-23 12:14:20

标签: postgresql trigger.io

你能否给我建议用postgresql中的数字开头创建表。

1 个答案:

答案 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"'才能找到该表。如果你没找到桌子就很幸运。当您在同一架构中有badnameBadname时,就会发生灾难。

它可行的事实并不意味着你应该开始使用它。