保留列或表名的标准修改

时间:2013-12-03 19:42:32

标签: postgresql naming-conventions identifier

当我的“业务”表或列名恰好是保留字时,我担心在PostgreSQL中使用带引号的标识符。是否有任何标准或最佳实践的修复方法?我希望有一个一致的修改机制,因为还有一些代码生成,需要能够自动在PostgreSQL中使用的错位名称和代码中使用的非错位名称之间来回转换。

2 个答案:

答案 0 :(得分:2)

最简单,也许最好的方法是“修改”术语,以保证所有名称都不是保留字,就是在它们前面添加下划线字符。

最好的方法是不使用保留字 - 让DBA为业务术语和数据库术语之间的任何冲突选择名称。

还要考虑可能与您的应用语言中的保留字冲突的术语。

答案 1 :(得分:0)

我喜欢为服务器端函数中的参数和变量保留下划线前缀(_name)以排除冲突。我最近在使用函数的人中看到了很多。

对于数据库对象的标识符,我手动选择名称。使用非英语术语(缩减为ASCII字母)可以避免大多数冲突。

另一种选择是使用复数表格来表名,因为大多数保留字都是单数形式(少数例外!)。

大多数1个字母的前缀都可以毫无例外地完成工作。喜欢:n_name。但是,由于我手工挑选标识符,因此无需自动化。

任何都很好,可以避免容易出错的双引号需求。即使Postgres允许,我也从不使用reserved words