как изменить ограничение имени поля таблицы Postgres? - PullRequest
5 голосов
/ 10 июня 2011

Я хочу создать таблицу, имя поля которой составляет 100 символов, но ограничение postgres для количества символов не равно 64, так как изменить это ограничение на 100?

Пример: Создать таблицу Test ( PatientFirstnameLastNameSSNPolicyInsuraceTicketDetailEMRquestion EMR varchar (10) )

Ошибка создания этой таблицы, так как имя превышает 64 символа

Ответы [ 2 ]

10 голосов
/ 10 июня 2011

На самом деле ограничение имени равно NAMEDATALEN - 1 байтам (не обязательно символам), значение по умолчанию для NAMEDATALEN - 64.

NAMEDATALEN был определен во время компиляции (в src/include/pg_config_manual.h). Вам нужно перекомпилировать PostgreSQL с новым лимитом NAMEDATALEN, чтобы он работал.

Однако подумайте о дизайне и совместимости с другими серверами со стандартным ограничением в 63 байта. Не принято использовать такие длинные имена.

0 голосов
/ 10 июня 2011

Это из-за специального name типа (см. Таблицу 8.5), который используется в pg_catalog.Он не принимает ничего длиннее 63 байт (плюс терминатор).Обходного пути нет.

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