希望这个问题之前没有被问过。有谁知道域名的字符数限制吗?
例如,如果我这样写:
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(使用前将#替换为@)