Что касается документации , то для определения типа varchar(n)
явного ограничения не дано. Но:
...
В любом случае, максимально долго
символьная строка, которая может быть сохранена
около 1 ГБ. (Максимальное значение, которое
будет разрешено для n
в типе данных
декларация меньше, чем это. Это
не было бы очень полезно изменить это
потому что с многобайтовым символом
кодировки количество символов и
байты могут быть совершенно разными в любом случае.
Если вы хотите хранить длинные строки
без определенного верхнего предела, используйте текст
или символ меняется без длины
спецификатор, а не составление
произвольный предел длины.)
Также обратите внимание:
Подсказка: Нет производительности
Разница между этими тремя типами,
помимо увеличения места для хранения
при использовании типа с пробелом и
несколько дополнительных циклов процессора, чтобы проверить
длина при хранении в
ограниченный по длине столбец. В то время как
персонаж (n) имеет производительность
преимущества в другой базе данных
систем, нет такого преимущества в
PostgreSQL; фактически символ (n)
обычно самый медленный из трех
из-за его дополнительного хранения
расходы. В большинстве случаев текст или
следует использовать различные символы
вместо этого.