Size: a a a

pgsql – PostgreSQL

2021 February 09

AL

Alexey Lesovsky in pgsql – PostgreSQL
а вот еще в догонку интересная штучка, ммм...

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=3b733fcd04
источник

ФД

Фролов Денис... in pgsql – PostgreSQL
Коллеги пожалуйста прекратите оффтоп, тяжело в портянках пустопорожних разбираться и очень жалко тратить на это время. Спасибо за понимание.
источник

ВК

Виталий Кухарик... in pgsql – PostgreSQL
Михаил Шурутов
В результате этой ошибки ваш счёт в банке обнулится, вам такое надо?
В банке обычно сидят люди которые знают как надо защитить данные.
источник

H

Hellomik in pgsql – PostgreSQL
HI привет помогите пожалуйста решить проблему
источник

H

Hellomik in pgsql – PostgreSQL
тут вопрос как из leftJoin взять только один последний entity который нам нужен что бы по определенной связи он взял лишь один самый топ и далше пошел
типа вот есть чаты самые последние, и он просто взял уникальные чаты, но еще внутри них сообщение, но только одно и последнее
https://stackoverflow.com/questions/7788212/left-join-order-and-limit я вот нашел что то но тут баг

мне нужно взять список чатов и уже у них у каждого индивидуально вытянуть последнее сообщение
источник

KK

Konstantin K in pgsql – PostgreSQL
group by "chat_id", "text"
источник

H

Hellomik in pgsql – PostgreSQL
Konstantin K
group by "chat_id", "text"
я тогда теряю уникальность
источник

H

Hellomik in pgsql – PostgreSQL
по чат ID
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Hellomik
тут вопрос как из leftJoin взять только один последний entity который нам нужен что бы по определенной связи он взял лишь один самый топ и далше пошел
типа вот есть чаты самые последние, и он просто взял уникальные чаты, но еще внутри них сообщение, но только одно и последнее
https://stackoverflow.com/questions/7788212/left-join-order-and-limit я вот нашел что то но тут баг

мне нужно взять список чатов и уже у них у каждого индивидуально вытянуть последнее сообщение
LEFT JOIN LATERAL (SELECT * FROM "chatMessage" ORDER BY "date" DESC LIMIT 1) cm ON true
источник

KK

Konstantin K in pgsql – PostgreSQL
string_agg("text", ', ')
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Hellomik
тут вопрос как из leftJoin взять только один последний entity который нам нужен что бы по определенной связи он взял лишь один самый топ и далше пошел
типа вот есть чаты самые последние, и он просто взял уникальные чаты, но еще внутри них сообщение, но только одно и последнее
https://stackoverflow.com/questions/7788212/left-join-order-and-limit я вот нашел что то но тут баг

мне нужно взять список чатов и уже у них у каждого индивидуально вытянуть последнее сообщение
Такая задача называется "groupwise maximum", у неё несколько "стандартных" решений — можете поискать в истории этого чата, или просто погуглить по этой фразе.
источник

H

Hellomik in pgsql – PostgreSQL
Victor Yegorov
LEFT JOIN LATERAL (SELECT * FROM "chatMessage" ORDER BY "date" DESC LIMIT 1) cm ON true
но тут он берет просто один MEssageEntity  и ставить его везде одним
источник

H

Hellomik in pgsql – PostgreSQL
Yaroslav Schekin
Такая задача называется "groupwise maximum", у неё несколько "стандартных" решений — можете поискать в истории этого чата, или просто погуглить по этой фразе.
Блин большое вам спасибо, вообще круто что вы даете такие ответы
источник

E

ETL in pgsql – PostgreSQL
А есть какой-то сервис для тестирования выражений. Я погуглил и нашёл только эмулятор psql (зачем он нужен, если есть терминал, где всё то же самое буквально), а было бы классно, например - создать таблицу, чтобы там сразу рандомные значения соответственно типу генерились, штук 30 хотя бы.
источник

E

ETL in pgsql – PostgreSQL
Или хочешь сделать хорошо - сделай это сам?)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
ETL
А есть какой-то сервис для тестирования выражений. Я погуглил и нашёл только эмулятор psql (зачем он нужен, если есть терминал, где всё то же самое буквально), а было бы классно, например - создать таблицу, чтобы там сразу рандомные значения соответственно типу генерились, штук 30 хотя бы.
Я такого не видел и никогда о таком не слышал, например (и не понял, какая в этом ценность, если честно).

> Или хочешь сделать хорошо - сделай это сам?)

Получается, так.
источник

T

The2lb3oz4dr10½grOfH... in pgsql – PostgreSQL
Чет туплю. Как мне из
'[[], [1, 2], [3]]'::jsonb
Получить
'{1, 2, 3}'::jsonb[]
?
pg 13

Т.е.  я хочу сделать flatten jsonb array и его в array of jsonb scalars

Исходный массив у меня всегда гарантированно двойной вложенности
источник

AW

Alexander Walther in pgsql – PostgreSQL
Ребят, можете подсказать, а то самому не удается найти.
WITH input_rows(channel_id, avatar_link_edited_at_dt, image_url) AS (
           SELECT * FROM (VALUES {input_values})
               AS val (channel_id, avatar_link_edited_at_dt, image_url)
           ), insert_new_images AS (
               INSERT INTO telegram_channel_image (channel_id, avatar_link_edited_at_dt, image_url)
                   SELECT * FROM input_rows
                   ON CONFLICT DO NOTHING
               RETURNING telegram_channel_image.image_url, telegram_channel_image.channel_id
), . . .

Если возникнет конфликт, то конфликтующие данные вернуться вместе с вставленными или только вставленные?
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Alexander Walther
Ребят, можете подсказать, а то самому не удается найти.
WITH input_rows(channel_id, avatar_link_edited_at_dt, image_url) AS (
           SELECT * FROM (VALUES {input_values})
               AS val (channel_id, avatar_link_edited_at_dt, image_url)
           ), insert_new_images AS (
               INSERT INTO telegram_channel_image (channel_id, avatar_link_edited_at_dt, image_url)
                   SELECT * FROM input_rows
                   ON CONFLICT DO NOTHING
               RETURNING telegram_channel_image.image_url, telegram_channel_image.channel_id
), . . .

Если возникнет конфликт, то конфликтующие данные вернуться вместе с вставленными или только вставленные?
ни то, ни другое - ничего не вернётся
источник

AW

Alexander Walther in pgsql – PostgreSQL
Konstantin Knizhnik
ни то, ни другое - ничего не вернётся
Хм, спасибо
источник