Относится ли длина переменной[] в Postgres к максимальной длине каждого элемента или к общему числу?

#arrays #postgresql

#массивы #postgresql

Вопрос:

У меня есть столбец, подобный этому:

  • Тип данных: character varying []
  • Длина: 2048

Относится ли «длина» к максимальной длине, какой может быть каждый элемент, или к длине всего массива?

Глядя на код SQL, столбец определяется как

 character varying(2048)[]
  

Комментарии:

1. Последнее. Согласно документам, элементы подсчитываются за символ, а не по байтам.

2. Вы имеете в виду character varying(2048)[] или character varying[2048] ?

3. Пользовательский интерфейс не проясняет, однако, копаясь в SQL, я нахожу character varying(2048)[]

Ответ №1:

Длина — это максимальное количество символов, которое может содержать каждая запись массива.

Учитывая это явно произвольное ограничение, вам лучше выбрать text[] .