安装 PostgreSQL 9.0 后如何更改 NAMEDATALEN 配置?

Sco*_*ert 6 postgresql

我正在支持一些旧的 PostgreSQL 8.3/4 数据库,并将它们迁移到一些较新的 Windows Server 2008 硬件上。

我被告知 NAMEDATALEN 数字需要高于默认值。

据我了解,NAMEDATALEN 配置不存在于配置文件中,而是需要在编译应用程序时进行设置。

已经在新机器上安装了 PostgreSQL 9.0,我想知道是否可以在事后更改此配置?

Tom*_*zky 7

无法更改此选项 - 它需要在源文件中更改src/include/pg_config_manual.h。然后需要重新编译 Postgres,初始化数据目录initdb并恢复数据。然后必须修补和重新编译每个安全性和错误修复次要版本。这是不好的做法。

修补应用程序源以使用较短的表/函数/等名称更加容易和明智。最多 63 个字符,足够了 insanely_stupid_and_totally_impractical_table_or_function_name0

也许你的模式真的不需要更长的名字,而这个要求只是你的客户端应用程序的一个老版本的工件。检查这个 - 尝试将架构和函数导入新数据库。

这个问题可能应该迁移到serverfault.com

  • 确实,列名就足够了,但一些 ORM 会通过“AS”生成巨大的“别名”。而我正面临这样的问题。 (2认同)