如何更改Postgres表字段名称限制?

时间:2011-06-10 13:54:16

标签: postgresql

我想创建一个表,其字段名称为100个字符,但不包含字符的postgres限制为64,那么如何将该限​​制更改为100?

例如: 创建表测试 ( PatientFirstnameLastNameSSNPolicyInsuraceTicketDetailEMRquestionEMR varchar(10) )

此表创建失败,因为名称超过64个字符

2 个答案:

答案 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个字节(加上终结符)的任何内容。没有解决方法。