Size: a a a

pgsql – PostgreSQL

2020 August 14

M

MAdMAx in pgsql – PostgreSQL
Daiana
кавычки другие нужны
источник

D

Daiana in pgsql – PostgreSQL
Спасибо огромное❤️
источник

AK

Aleksander Komissaro... in pgsql – PostgreSQL
Всем привет у меня вопрос.
В таблице в полях есть значения в двойных кавычках слова названия
Пример "АСАКА"  ГОРОД
и таких 3 поля на 3-х языках
Я из них собираю jsonb динамически через конкантинацию

('{"ru": "'||name_ru||","kir": "'||name_kir||'","lat": "'||name_lat||'"}')::jsonb

при формировании жсона ругается что в значении есть " кавычки
Что делать и как три поля проинсертить как jsonb  в одно?
источник

DP

Darafei Praliaskousk... in pgsql – PostgreSQL
Aleksander Komissarov
Всем привет у меня вопрос.
В таблице в полях есть значения в двойных кавычках слова названия
Пример "АСАКА"  ГОРОД
и таких 3 поля на 3-х языках
Я из них собираю jsonb динамически через конкантинацию

('{"ru": "'||name_ru||","kir": "'||name_kir||'","lat": "'||name_lat||'"}')::jsonb

при формировании жсона ругается что в значении есть " кавычки
Что делать и как три поля проинсертить как jsonb  в одно?
не клеить строки
источник

D

Darwin in pgsql – PostgreSQL
+
источник

DP

Darafei Praliaskousk... in pgsql – PostgreSQL
jsonb_build_object
источник

AK

Aleksander Komissaro... in pgsql – PostgreSQL
Darafei Praliaskouski
jsonb_build_object
как собрать в него 3 поля?
источник

D

Darwin in pgsql – PostgreSQL
json_build_object('foo',1,'bar',2) - {"foo": 1, "bar": 2}
источник

D

Darwin in pgsql – PostgreSQL
с jsonb тож самое)
источник

AK

Aleksander Komissaro... in pgsql – PostgreSQL
супер спасибо)
источник

Kd

Konstantin dmz9 in pgsql – PostgreSQL
вопрос - вот есть функции для jsonb_, но почему то не могу найти по ним документацию в гугле, может не там смотрю?
например искал jsonb_exists, но на сайте в поиске ничего нет
источник

Kd

Konstantin dmz9 in pgsql – PostgreSQL
источник

A

Alexander in pgsql – PostgreSQL
Konstantin dmz9
вопрос - вот есть функции для jsonb_, но почему то не могу найти по ним документацию в гугле, может не там смотрю?
например искал jsonb_exists, но на сайте в поиске ничего нет
Потому что у jsonb нет отдельных функций, они те же, что и у json. Эти типы отличаются только тем, как они хранятся и обрабатываются при вставке/выборке.
источник

🎄S

🎄lex Solonenko in pgsql – PostgreSQL
Konstantin dmz9
вопрос - вот есть функции для jsonb_, но почему то не могу найти по ним документацию в гугле, может не там смотрю?
например искал jsonb_exists, но на сайте в поиске ничего нет
может jsonb_path_exists?
источник

Kd

Konstantin dmz9 in pgsql – PostgreSQL
Alexander
Потому что у jsonb нет отдельных функций, они те же, что и у json. Эти типы отличаются только тем, как они хранятся и обрабатываются при вставке/выборке.
ну, json_exists тоже не ищется
https://www.postgresql.org/docs/current/functions-json.html
я же правильно тут смотрю? или может какие то другие доки
источник

Kd

Konstantin dmz9 in pgsql – PostgreSQL
🎄lex Solonenko
может jsonb_path_exists?
мне просто функцию надо подобрать по функционалу, начал гуглить и что то в тупик попал.
с постгрей не работаю плотно, просто понадобилось пару запросов написать.
вообще, система на пыхе, но есть пакет с поддержкой функций постгри, там много функций разных, но я их в доках не могу найти (все), собсно поэтому и задался вопросом
источник

ДГ

Дмитрий Гаврин... in pgsql – PostgreSQL
Konstantin dmz9
ну, json_exists тоже не ищется
https://www.postgresql.org/docs/current/functions-json.html
я же правильно тут смотрю? или может какие то другие доки
Правильно.
Дока на русском: https://postgrespro.ru/docs/postgrespro/12/functions-json

Судя по скриншоту большинство функций есть как функции или операторы (например JsonbInsert аналогична оператору "+").
Остальное можно реализовать комбинациями этих или других функций (типа unnest).
источник

Kd

Konstantin dmz9 in pgsql – PostgreSQL
Дмитрий Гаврин
Правильно.
Дока на русском: https://postgrespro.ru/docs/postgrespro/12/functions-json

Судя по скриншоту большинство функций есть как функции или операторы (например JsonbInsert аналогична оператору "+").
Остальное можно реализовать комбинациями этих или других функций (типа unnest).
спасибо
источник
2020 August 15

EW

Evgeniy Wolf in pgsql – PostgreSQL
Коллеги, доброго времени суток! Подскажите пожалуйста, никак не могу разобраться уже 2-й день:
Есть таблица (результат выборки), выглядит примерно так:
id, table2_id
1, 3
1, 4
1, 5
2, 10
2, 11
2, 12

Нужно сделать LEFT JOIN table2 к этой таблице (выборке), со следующим условием: к каждой строке должны быть приJOIN'ены строки группы (id) в которую он входит. То есть, к каждой строке должно приJOIN'интся в данном случае, строки 1, 2, 3 (id=1) строки из table2 с id=[3,4,5], а к строки 4,5,6 (id=2) — строки из table2 с id=[10,11,12], т.е. к каждой строке исходной таблицы (выборки) в данном случае должны приJOIN'иться ещё по 3 строки из таблицы2.

Извините за сумбурную постановку вопроса, не знаю как ещё его сформулировать. Разумеется, я перепробовал уже несколько способов, в т.ч. пробовал LEFT JOIN array_agg(), но Postgres ругается что нельзя использовать агрегатные функции в JOIN'ах. Единственным полностью рабочим вариантом на данный момент у меня оказался LEFT JOIN (SELECT ... ), но с учётом того, что исходная выборка может насчитывать несколько десятков (или даже сотен) тысяч результатов — делать такое кол-во подзапросов, я думаю не очень хорошее решение. Наверняка есть какое-то простое и элегантное решение для подобных задач
источник

SV

Sergey Vats in pgsql – PostgreSQL
Добрый день, как правильно сгруппировать такой вот респонс с таким вот запросом в базу по id? Если добавляю груп бай, то происходит ошибка как на скриншоте
источник