Ответ 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
Эрго: должно быть какое-то другое программное обеспечение, обрезающее ваше имя.