我想创建一个表,其字段名称为100个字符,但不包含字符的postgres限制为64,那么如何将该限制更改为100?
例如: 创建表测试 ( PatientFirstnameLastNameSSNPolicyInsuraceTicketDetailEMRquestionEMR varchar(10) )
此表创建失败,因为名称超过64个字符
答案 0 :(得分:10)
实际上,name的限制等于NAMEDATALEN - 1
个字节(不一定是字符),NAMEDATALEN的默认值是64。
NAMEDATALEN是在编译时确定的(src/include/pg_config_manual.h
)。您必须使用新的NAMEDATALEN限制重新编译PostgreSQL才能使其正常工作。
但是请考虑设计和与标准63字节限制的其他服务器的兼容性。使用这么长的名字并不常见。
答案 1 :(得分:0)
这是因为special name
type(参见表8.5),它在pg_catalog中使用。它不会接受超过63个字节(加上终结符)的任何内容。没有解决方法。