Различная длина символов в PostgreSQL - PullRequest
23 голосов
/ 25 мая 2010

Я использую символьный тип данных в PostgreSQL. Я не смог найти эту информацию в руководстве PostgreSQL. Каков максимальный лимит символов в символьно-различном типе данных?

Ответы [ 3 ]

22 голосов
/ 25 мая 2010

Что касается документации , то для определения типа varchar(n) явного ограничения не дано. Но:

...
В любом случае, максимально долго символьная строка, которая может быть сохранена около 1 ГБ. (Максимальное значение, которое будет разрешено для n в типе данных декларация меньше, чем это. Это не было бы очень полезно изменить это потому что с многобайтовым символом кодировки количество символов и байты могут быть совершенно разными в любом случае. Если вы хотите хранить длинные строки без определенного верхнего предела, используйте текст или символ меняется без длины спецификатор, а не составление произвольный предел длины.)

Также обратите внимание:

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

1 голос
/ 25 мая 2010

Из документации :

В любом случае самая длинная строка символов, которую можно сохранить, составляет около 1 ГБ.

0 голосов
/ 20 ноября 2017

тип символов в postgresql

  • символ варьируется (n), varchar (n) = длина переменной с ограничением
  • символ (n), символ (n) = фиксированная длина, с пробелом
  • текст = переменная неограниченная длина

в зависимости от вашей проблемы, я предлагаю вам использовать тип text . тип не требует длины символа.

Кроме того, PostgreSQL предоставляет тип text , в котором хранятся строки любой длины. Хотя текст типа не соответствует стандарту SQL, он есть и в некоторых других системах управления базами данных SQL.

источник: https://www.postgresql.org/docs/9.6/static/datatype-character.html

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