Подтвердить что ты не робот

Максимальные символы в ярлыках (имена таблиц, столбцы и т.д.)

Надеюсь, что этот вопрос не был задан раньше. Кто-нибудь знает лимит символов для доменных имен? Например, если я пишу это:

CREATE DOMAIN d_complement_activite_etablissement AS character varying

он создаст домен с именем:

d_complement_activite_etabliss

(Да, я знаю, как считать, но я хочу получить дополнительную информацию по этому вопросу).

Есть ли команда, которая может изменить эту максимальную длину? Является ли эта длина одинаковой для других имен (столбцы, таблицы и т.д.)?

4b9b3361

Ответ 1

Вы спрашиваете:

Есть ли команда, которая может изменить эту максимальную длину? Эта длина то же самое для других имен (столбцы, таблицы и т.д.)?

Руководство пользователя здесь:

В системе используется не более NAMEDATALEN-1 байтов идентификатора; более длинные имена могут быть записаны в командах, но они будут усечены. По умолчанию NAMEDATALEN равно 64, поэтому максимальная длина идентификатора 63байт. Если этот предел проблематичен, его можно повысить, изменив NAMEDATALEN константа в src/include/pg_config_manual.h.

Смелый акцент мой.

Смысл, единственный способ изменить это - взломать исходный код и перекомпилировать PostgreSQL.
Доменные имена - это идентификаторы, как и любые другие. Когда я выполняю:

CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text

Я получаю то, что я заказал (только что протестирован на PostgreSQL 8.4 и 9.0, 9.1 здесь не отличается):

d_complement_activite_etablissement_or_even_loger_than_that

Эрго: должно быть какое-то другое программное обеспечение, обрезающее ваше имя.