Могу ли я настроить максимальную длину идентификатора Aurora DB? Как? - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть имена столбцов, которые очень длинные, независимо от причины, мне нужно хранить очень большие имена для столбцов (не менее 128) и очень большие строки в целом из-за этого

mysql имеет строгий предел 64 для столбцов и 65 535 для строк

postgresql имеет «настраиваемый» предел 63 для столбцов и не может его найти для строк

У меня такой вопрос: AWS Aurora предлагает обе базы данных, я исследовал и не смог найти, настраивается ли этот предел в их продукте postgresql, не так ли? Как я могу изменить эту конфигурацию?

1 Ответ

2 голосов
/ 02 апреля 2020

Максимальная длина по умолчанию для всех PostgreSQL идентификаторов (не только имен столбцов) составляет 63 байта (не символов). Это можно изменить, например , руководство сообщает, где вы установили связь :

можно увеличить, перекомпилировав PostgreSQL

Или в более подробно здесь :

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

Связанный:

Таким образом, хотя обычный PostgreSQL можно отрегулировать путем редактирования исходного кода и компиляции, это, очевидно, не вариант для хостинга, например Amazon Aurora Postgres. Поэтому нет, вы не можете изменить этот предел.

Не существует максимальной длины для суммы всех имен столбцов таблицы в Postgres. Максимальное количество столбцов 1038 *. 1600 или меньше, в зависимости от типов данных. Подробности:

...