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

Postgresql 如何更改Postgres表字段名限制?,postgresql,Postgresql,我想创建一个表,该表的字段名为100个字符,但postgres的字符数限制为64,那么如何将该限制更改为100 例如: 创建表测试 ( 患者firstnamelastnamesnPolicyInsuraceticketdetailemrquestionemr varchar(10) ) 此表创建失败,因为名称超过64个字符这是由于pg_目录中使用的(见表8.5)。它不接受任何超过63字节(加上终止符)的内容。没有解决方法。实际上name的限制等于NAMEDATALEN-1字节(不一定是字符),N

我想创建一个表,该表的字段名为100个字符,但postgres的字符数限制为64,那么如何将该限制更改为100

例如: 创建表测试 ( 患者firstnamelastnamesnPolicyInsuraceticketdetailemrquestionemr varchar(10) )


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

这是由于pg_目录中使用的(见表8.5)。它不接受任何超过63字节(加上终止符)的内容。没有解决方法。

实际上name的限制等于
NAMEDATALEN-1
字节(不一定是字符),NAMEDATALEN的默认值是64

NAMEDATALEN是在编译时确定的(在
src/include/pg\u config\u manual.h
中)。您必须使用新的namedatalenlimit重新编译PostgreSQL才能使其工作


但是,请考虑设计以及与其他标准63字节限制的服务器的兼容性。使用如此长的名称不是常见的做法。

我不想成为需要键入100个字符长的列名的编码员。:-)看看@Denis:我知道我从pgAdminIII的SQL页面复制了短得多的列名。更少的打字错误。PostgreSQL是开源的。开源软件总是有解决办法的。但这通常并不令人愉快。:-)是的,我知道,但我怀疑OP会把他的手弄得那么脏另外,正如评论中链接的另一个线程所指出的,63个字符足够长,可以接受“疯狂的、愚蠢的、完全不切实际的、表格的或函数的、命名的”:-你根本不在乎列的名称空间,在这种情况下,
数据、管理、程序、未列出的、未发现的、地点的、甚至电影的‌​ts_unlisted_at
太长。