希望以前没有问过这个问题。有谁知道域名的字符限制? 例如,如果我写这个:
CREATE DOMAIN d_complement_activite_etablissement AS character varying
它将创建一个名为
的域名d_complement_activite_etabliss
(是的,我知道如何计算,但我想了解更多关于这个问题的信息)。
是否有可以更改此最大长度的命令?其他名称(列,表等)的长度是否相同?
答案 0 :(得分:54)
你问:
是否有可以更改此最大长度的命令?是这个长度 其他名称(列,表等)也一样吗?
系统使用的标识符不超过
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:您和您的数据库之间必须有一些其他软件裁剪名称。