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

问题描述 投票:32回答:1

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

CREATE DOMAIN d_complement_activite_etablissement AS character varying

它将创建一个名称为的域:

d_complement_activite_etabliss

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

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

postgresql keyword identifier
1个回答
57
投票

你问:

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

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:你和你的数据库之间必须有一些其他的软件裁剪名称。

© www.soinside.com 2019 - 2024. All rights reserved.