我支持一些传统的Postgresql 8.3 / 4数据库,并将它们迁移到一些较新的
Windows Server 2008硬件上.
我被告知NAMEDATALEN数字需要高于默认值.
据我所知,配置文件中不存在NAMEDATALEN配置,而是需要在编译应用程序时设置.
已经在新盒子上安装了Postgresql 9.0,我想知道是否有可能在事后改变这种配置?
解决方法
无法更改此选项 – 需要在源文件src / include / pg_config_manual.h中更改它.然后需要重新编译Postgres,使用initdb初始化数据目录并恢复数据.然后,必须修补并重新编译每个安全性和错误修复次要版本.这是件坏事.
修补应用程序源以使用较短的表/函数/ etc名称更加容易和明智.最大值为63个字符,足以满足insanely_stupid_and_totally_impractical_table_or_function_name0
也许您的架构确实不需要更长的名称,而这个要求它只是客户端应用程序的早期版本中的工件.检查一下 – 尝试将模式和函数导入新数据库.
这个问题应该可以迁移到serverfault.com.