Size: a a a

pgsql – PostgreSQL

2021 February 09

АА

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

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

Исходный массив у меня всегда гарантированно двойной вложенности
не уверен на счёт правильности решения, но возможно натолкнёт на решение:
with
 tr_data as (
              select '[[], [1, 2], [3]]'::jsonb as mm
      ),
  unn1 as (
            select jsonb_array_elements(jsonb_array_elements(mm)) as n
        from tr_data a)
select array_agg(n)::jsonb[] from unn1;
источник

T

The2lb3oz4dr10½grOfH... in pgsql – PostgreSQL
Артур Асриян
не уверен на счёт правильности решения, но возможно натолкнёт на решение:
with
 tr_data as (
              select '[[], [1, 2], [3]]'::jsonb as mm
      ),
  unn1 as (
            select jsonb_array_elements(jsonb_array_elements(mm)) as n
        from tr_data a)
select array_agg(n)::jsonb[] from unn1;
Похоже на то что нужно. Сейчас посмотрю
источник

RS

Ra Sh in pgsql – PostgreSQL
Переслано от Ra Sh
Привет. Кто нибудь может подсказать как dbeaver подключиться к файлу csv. Нужно данные из файла применить в запросе
источник

T

The2lb3oz4dr10½grOfH... in pgsql – PostgreSQL
Артур Асриян
не уверен на счёт правильности решения, но возможно натолкнёт на решение:
with
 tr_data as (
              select '[[], [1, 2], [3]]'::jsonb as mm
      ),
  unn1 as (
            select jsonb_array_elements(jsonb_array_elements(mm)) as n
        from tr_data a)
select array_agg(n)::jsonb[] from unn1;
Вот так добился желаемого результата, но очень смущает cross join

with my_jsonb_table as (
 select unnest(array['[[], [1, 2], [3]]'::jsonb, '[[4, 5], [6], []]'::jsonb]) as val
)
select (select array_agg(values)
       from jsonb_array_elements(my_jsonb_table.val) as elements
       cross join jsonb_array_elements(elements) as values)
from my_jsonb_table;



array_agg
-----------
{1,2,3}
{4,5,6}
(2 rows)
источник

E

ETL in pgsql – PostgreSQL
Yaroslav Schekin
Я такого не видел и никогда о таком не слышал, например (и не понял, какая в этом ценность, если честно).

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

Получается, так.
https://stackoverflow.com/questions/15608438/how-can-i-populate-my-databases-all-tables-with-random-data -- тем не менее, как я понял, такая софтина существует, применений этому весьма много, но из явного - оптимизировать скорость исполнения выражений на проектируемой БД, когда мы имеем лишь схему, а значений пока что нема.  

Т.к. руками вбивать values для таблицы у которой есть хотя бы 10 значений разного типа - это уже ну такое.
источник

D

Denisio in pgsql – PostgreSQL
источник

D

Denisio in pgsql – PostgreSQL
источник

D

Denisio in pgsql – PostgreSQL
второй так прямо для postgres умеет
источник

E

ETL in pgsql – PostgreSQL
Благодарю!)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
ETL
https://stackoverflow.com/questions/15608438/how-can-i-populate-my-databases-all-tables-with-random-data -- тем не менее, как я понял, такая софтина существует, применений этому весьма много, но из явного - оптимизировать скорость исполнения выражений на проектируемой БД, когда мы имеем лишь схему, а значений пока что нема.  

Т.к. руками вбивать values для таблицы у которой есть хотя бы 10 значений разного типа - это уже ну такое.
Что ж, я не вижу ценности — а вот кто-то видит, почему бы нет.

> Т.к. руками вбивать values для таблицы у которой есть хотя бы 10 значений разного типа - это уже ну такое.

А мне запросов на основе generate_series и т.п. (функций для генерации random values какого-то типа) для такого пока хватало (мне кажется, что их быстрее написать, чем искать / покупать / изучать какие-то "генераторы").
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
ETL
Благодарю!)
И вот:
https://www.sqlmanager.net/en/products/postgresql/datagenerator
И вообще, по "sql data generator postgresql" можно ещё найти, скорее всего.
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Подскажите пожалуйста, вижу в списке процессов idle postgres, но он активно потребляет cpu, что он может делать в этот момент?
источник

E

ETL in pgsql – PostgreSQL
Yaroslav Schekin
Что ж, я не вижу ценности — а вот кто-то видит, почему бы нет.

> Т.к. руками вбивать values для таблицы у которой есть хотя бы 10 значений разного типа - это уже ну такое.

А мне запросов на основе generate_series и т.п. (функций для генерации random values какого-то типа) для такого пока хватало (мне кажется, что их быстрее написать, чем искать / покупать / изучать какие-то "генераторы").
Не знал про generate_series, классная опция, действительно часть задач решает.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Viktor Grigorev
Подскажите пожалуйста, вижу в списке процессов idle postgres, но он активно потребляет cpu, что он может делать в этот момент?
В смысле, видите в pg_stat_activity?
Так это "моментальный снимок" — процесс, может, 1000 TPS "крутит", а снимок случайно между транзакциями попал.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Viktor Grigorev
Подскажите пожалуйста, вижу в списке процессов idle postgres, но он активно потребляет cpu, что он может делать в этот момент?
это обычный бэкенд или служебный? в pg_stat_activity смотрели, может там есть что интересное?
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Yaroslav Schekin
В смысле, видите в pg_stat_activity?
Так это "моментальный снимок" — процесс, может, 1000 TPS "крутит", а снимок случайно между транзакциями попал.
в списке процессов
думаю, в htop несогласованные данные показываются. Запросы очень короткие
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
Alexey Lesovsky
это обычный бэкенд или служебный? в pg_stat_activity смотрели, может там есть что интересное?
обычный бэкенд, короткие запросы в большом количестве
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
не могу понять, почему 25% sys cpu утилизация
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
25% sys это общесистемный, или конкретно этого процесса?
источник

VG

Viktor Grigorev in pgsql – PostgreSQL
общесистемный (сервер выделенный под базу)
источник