标签中的最大字符数(表名,列等)

时间:2011-11-21 14:11:56

标签: postgresql keyword identifier

希望以前没有问过这个问题。有谁知道域名的字符限制? 例如,如果我写这个:

CREATE DOMAIN d_complement_activite_etablissement AS character varying

它将创建一个名为

的域名
d_complement_activite_etabliss

(是的,我知道如何计算,但我想了解更多关于这个问题的信息)。

是否有可以更改此最大长度的命令?其他名称(列,表等)的长度是否相同?

1 个答案:

答案 0 :(得分:54)

你问:

  

是否有可以更改此最大长度的命令?是这个长度   其他名称(列,表等)也一样吗?

manual answers here

  

系统使用的标识符不超过NAMEDATALEN-1个字节;   较长的名称可以用命令编写,但它们会被截断。   默认情况下,NAMEDATALEN为64,因此最大标识符长度为 63   字节。如果这个限制有问题,可以通过改变它来提高   NAMEDATALEN中的src/include/pg_config_manual.h常量。

大胆强调我的。

改变它的唯一方法是破解源代码并重新编译PostgreSQL 域名是其他任何标识符。当我执行:

CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text

我得到了我的订单(在PostgreSQL 8.4 - 11上测试):

d_complement_activite_etablissement_or_even_loger_than_that

Ergo:您和您的数据库之间必须有一些其他软件裁剪名称。