|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Всем привет. Подскажите, есть ли у поля и типом json/jsonb максимальное значение, которое он может хранить в виде текста? И как запросом можно определить самый длинный json в таблице, имеющей поле с типом json/jsonb? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 19:42 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Ольга Семенова, PostgreSQL ограничивает только максимальную длину всего поля в 1ГБ. Или вопрос был про TOAST? Запрос по схеме влом сейчас писать. К тому же для этого нужно еще рабочий ноут доставать и VPN поднимать. Так что, простите. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 20:56 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
ptr128 Или вопрос был про TOAST? что это такое ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 21:01 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Ольга Семенова, ну Вы написали "в виде текста". Но в виде текста PostgreSQL хранит только относительно короткие поля. Если длина поля превышает 2К (по умолчанию), то текст сжимается LZ. Подробнее о TOAST можно почитать в родной документации . ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 21:09 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Ну я имела в виду следующее: делая селект из таблицы в которой есть тип поля json я вижу строку с json'ом. Я хочу таблицу из postgresql перенести в другую СУБД, в которой нет такого типа. Для этого я хочу сделать обычное текстовое поле varchar нужной длины. А для этого я хочу выяснить максимальную длину текста хранящегося в поле с типом json ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 21:40 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Ольга Семенова, Не более 1 гигабайт, как я уже писал выше. Вот только не забудьте еще о кодировке. Например, в PostgreSQL у Вас JSON может быть в UTF-8, а в целевой БД - в UTF-16. И тогда один гигабайт может неожиданно превратиться в два. И наоборот, если в целевой БД не используется юникод, то поле может сильно в длине уменьшится, если в нем много кириллицы или даже, упаси господи, китайских иероглифов ) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 21:42 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
ptr128, а нет способа выяснить максимальную длину текста в символах, которое хранится в поле с типом json? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 21:47 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Ольга Семенова, length() и char_length() как раз и возвращают длину в символах (после преобразования JSON в строку). Вот только один символ в UTF-8 может занимать от одного до четырех байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 21:55 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
ptr128, а как преобразовать json в char? Код: sql 1.
авторfunction to_char(json) does not exist No function matches the given name and argument types. You might need to add excplicit type casts ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 22:10 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 22:16 |
|
Максимальная длина поля json/jsonb
|
|||
---|---|---|---|
#18+
Ольга Семенова ptr128, а как преобразовать json в char? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2021, 22:28 |
|
|
start [/forum/topic.php?fid=53&fpage=18&tid=1994284]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 422ms |
0 / 0 |