Как изменить конфигурацию NAMEDATALEN после установки PostgreSQL 9.0? - PullRequest
4 голосов
/ 01 октября 2010

Я поддерживаю некоторые устаревшие базы данных PostgreSQL 8.3 / 4 и переношу их на более новое оборудование Windows Server 2008.

Мне сообщили, что значение NAMEDATALEN должно быть выше значения по умолчанию.

Насколько я понимаю, конфигурация NAMEDATALEN не существует в файле конфигурации, а скорее должна быть установлена ​​при компиляции приложения.

Уже установив PostgreSQL 9.0 на новую коробку, мне интересно, можно ли изменить эту конфигурацию после факта?

1 Ответ

4 голосов
/ 01 октября 2010

Невозможно изменить эту опцию - ее необходимо изменить в исходном файле src/include/pg_config_manual.h.Затем необходимо перекомпилировать Postgres, каталог данных инициализируется initdb и данные восстанавливаться.Каждый дополнительный релиз безопасности и исправления ошибок должен быть исправлен и перекомпилирован.Это плохая вещь.

Гораздо проще и разумнее пропатчить источник приложения, чтобы использовать более короткие имена таблиц / функций / и т.д.Максимальное значение составляет 63 символа, что достаточно для insanely_stupid_and_totally_impractical_table_or_function_name0

Возможно, вашей схеме действительно не нужны более длинные имена, и это требование - просто артефакт из давно ушедшей версии вашего клиентского приложения.Проверьте это - попробуйте импортировать схему и функции в новую базу данных.

И этот вопрос, вероятно, следует перенести на serverfault.com .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...