关于表名、大小写等,普遍的惯例是:
UPPER CASE
lower_case_with_underscores
UPDATE my_table SET name = 5;
这不是一成不变的,但我强烈建议使用identifiers in lower case位.Postgresql在不引用时不区分大小写(它实际上在内部将它们折叠为小写),在引用时区分大小写;许多人没有意识到这种trait .使用总是小写的你是安全的.无论如何,可以使用camelCase
或PascalCase
(或UPPER_CASE
),只要是一致的:要么总是引用标识符,要么从不引用标识符(这包括模式创建!).
我不知道还有更多的惯例或风格指南.代理键通常是由一个序列(通常是serial
宏)生成的,如果手动创建这些序列(tablename_colname_seq
),就可以很方便地坚持这些序列的命名.
另请参见一些讨论here、here和(对于通用SQL)here,它们都有几个相关链接.
注:Postgresql 10引入了identity
列,作为serial的SQL兼容替代.