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

2024-01-16

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

CREATE DOMAIN d_complement_activite_etablissement AS character varying

它将创建一个名为的域:

d_complement_activite_etabliss

(是的,我知道如何计数,但我想要有关该主题的更多信息)。

有没有命令可以改变这个最大长度?其他名称(列、表等)的长度是否相同?


You ask:

有没有命令可以改变这个最大长度?是这个长度吗 其他名称(列、表等)也一样吗?

The 手动答案在这里 https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS:

系统使用不超过NAMEDATALEN-1标识符的字节; 可以在命令中写入更长的名称,但它们会被截断。 默认情况下,NAMEDATALEN是 64 所以最大标识符长度是63 bytes。如果此限制有问题,可以通过更改来提高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

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

注意UTF编码中的字符占用1 至 4 字节。 (但是 ASCII 字符(如示例中使用的)是用单个字节编码的。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标签中的最大字符数(表名、列等) 的相关文章

随机推荐