
Alexey
09.01.2017
11:49:25
а все вижу cib_*
т.е. в корку то процессы pacemaker-а вывалились?

Dmitry
09.01.2017
12:00:26
ага, видимо "master" pacemaker что-то пытался послать соседним нодам и упал
из-за того что где-то у себя в памяти, hash таблице не нашел "слейва"

Google

Dmitry
09.01.2017
12:01:50
грустно становиться от рейс-кондишена и в таких продуктах :(

Alexey
09.01.2017
14:43:22
В одной коннекции к pg можно делать несколько запросов параллельно? Пример:
sth = dbh->preapre(...)
sth2 = dbh->preapre(...)
sth->execute();
sth2->execute();
... = sth->fetchrow_hashref();
... = sth2->fetchrow_hashref();

Kirill
09.01.2017
14:46:12
нет. параллельно запросы выполнять нельзя и, в вашем примере, все последовательно

Aleksei
09.01.2017
14:46:18
конечно. только это не то, чтобы параллельно, скорее, последовательно ?

Alexey
09.01.2017
14:47:29
Ааа, у меня последовательный вариант. Т.е. execute заблокируется. Хорошо
Но я так понимаю, что там в протоколе есть id-ки какие-то, чтобы понимать, у кого execute вызывается

Kirill
09.01.2017
14:49:24
есть имен запросов
драйвер их скрывает от вас
Time: 0,435 ms
[local] => prepare a as select 1;
PREPARE
Time: 0,569 ms
[local] => prepare b as select 2;
PREPARE
Time: 0,324 ms
[local] => execute a;
?column?
----------
1
(1 row)
Time: 0,451 ms
[local] => execute b;
?column?
----------
2
(1 row)
Time: 0,311 ms
[local] =>
https://www.postgresql.org/docs/current/static/sql-prepare.html

Alexey
09.01.2017
14:50:51
Хорошо, спасибо. В случае асинхронного варината значит нельзя, хорошо

Nikita
10.01.2017
12:56:34
https://habrahabr.ru/post/319222/
ребят, стоит запариваться?)

Павел П.
10.01.2017
12:57:31
ребят, стоит запариваться?)
http://pgday.ru/files/papers/62/Alexey%20Ermakov%20-%20Where%20is%20the%20space%20postgres.pdf
Лучше это прочесть из комментов

Google

Pavel
10.01.2017
13:25:03
Хм, а почему в explain на таблицу в 60к строк написано rows=917403 ?
откуда она столько строк то возьмет

Fike
10.01.2017
13:28:41
Насколько мне позволяет говорить увиденное в этом чате (лол), постгрес не заменяет старые версии данных и просто дописывает новые в конец (не знаю чего, страницы, видимо). Поэтому каждый апдейт просто пишет новую строку, а все старые у тебя остаются, пока ты не пройдешься вакуумом.

Pavel
10.01.2017
13:29:20
так в том то и суть - я сперва сделал vacuum table

Fike
10.01.2017
13:30:23
А он точно удалил все старье? Потому что мне отсюда видится, что если движок думает, что какие-то штуки кем-то еще удерживаются, то он их во время ваакуума не отпустит.

Pavel
10.01.2017
13:30:42
блин
Паша
vacuum full и vacuum разные... запомни(

Pavel
10.01.2017
13:31:19
ок понял

Vadim
10.01.2017
14:24:22
вакум не может влиять на то что думает оптимизатор о кол-ве строк
analyze влияет

Павел П.
11.01.2017
06:59:07
Чат, вопрос.
Есть колонка timestamp с данными.
нужно получить для отчета 24 колонки по каждому часу.
Неужели мне 23 джойна самой таблицы к себе делать?

Vadim
11.01.2017
07:00:45
wat

Anatoliy
11.01.2017
07:00:58
generate_series
Хотя, если я правильно понял, в принципе нужна агрегация.

Aleksei
11.01.2017
07:04:14
серии тут не помогут

Anatoliy
11.01.2017
07:04:16
надо 24 строки превратить в 24 колонки?

Aleksei
11.01.2017
07:04:20
тут пивот надо городить
crosstab

Google

Павел П.
11.01.2017
07:04:51
ща объясню тогда.

Anatoliy
11.01.2017
07:05:31
https://www.postgresql.org/docs/current/static/tablefunc.html
В общем-то, всё уже написали :)

Айтуар
11.01.2017
07:10:57
@aggeisoft похоже на твою задачу вчерашнюю ))

Darafei
11.01.2017
07:13:05
\crosstab
его прямо в psql вынесли уже

Марат
11.01.2017
07:13:32
а чего в последней коллонке не сходиться время

Павел П.
11.01.2017
07:13:34
Спасибо)

Марат
11.01.2017
07:14:50
:)

Anton [Mgn, az09@osm]
11.01.2017
07:15:11
\crosstab
всё равно от минут придется избавиться. короче предвычислить границы часа

Darafei
11.01.2017
07:15:46
так group by date_trunc('hour', ts)

Anton [Mgn, az09@osm]
11.01.2017
07:17:43
очевидно что так, да

Dmitrii
11.01.2017
14:18:28
А есть чатик по мускулю?

Fike
11.01.2017
14:18:49
@mysql_ru, но там все глухо @dba_ru, но там все не по теме

Dmitrii
11.01.2017
14:21:10
Тлен

Evgeniy
11.01.2017
16:16:32
по мускулю и тут неплохо обсуждается

Mikhail
11.01.2017
16:19:38
А кто нибудь юзал jsonb тип для замены EAV модели?

Google

Mikhail
11.01.2017
16:20:11
В гугле много таких тем, но никак не раскрывается тему удаления атрибутов json например, это пологаю слабое место подобной замены

Darafei
11.01.2017
16:21:44
gis=# select '{"a":1}'::jsonb - 'a';
?column?
—------—
{}
(1 row)
в чём слабость?

Admin
ERROR: S client not available

Robert
11.01.2017
16:39:36
оффтоп: я jsonb использую для мультиязычности в справочниках. Отл помогает

Mikhail
11.01.2017
16:46:57

Darafei
11.01.2017
16:47:35
за какое время он это сделает:
gis=# explain (analyze,buffers) select '{"a":1}'::jsonb - 'a';
QUERY PLAN
—---------------------------------------------------------------------------------—
Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=1)
Planning time: 0.049 ms
Execution time: 0.009 ms
(3 rows)
(какой вопрос, такой ответ)

Fike
11.01.2017
16:50:47

Darafei
11.01.2017
16:51:03

Fike
11.01.2017
16:51:44
да нормальная тема ?
в монге придумали ?

Mikhail
11.01.2017
16:52:00
так у вас замена EAV или в корне json массив?
Я имею ввиду сложность алгоритма :) Ну допустим удаление из столбца колонки индексированной по бинарному дереву будет log2(n). Ну допустим мне нужно будет удалить все записи у которых значение атрибута равно какому то значению, а сама колонка со значением будет проиндексирована
в случае же jsonb получается нужно просмотреть все записи jsonb чтобу удалить атрибут, так?

Darafei
11.01.2017
16:53:05
если не умеешь в индексы, то да

Mikhail
11.01.2017
16:53:46

Darafei
11.01.2017
16:53:54
почему ключ?

Mikhail
11.01.2017
16:53:56
ключ jsonb столбца

Darafei
11.01.2017
16:54:19
просто gin по jsonb

Google

Mikhail
11.01.2017
16:54:30
а, ну или GIN индекс jsonb_ops_path

Darafei
11.01.2017
16:54:30
https://www.postgresql.org/docs/9.6/static/gin-builtin-opclasses.html

Mikhail
11.01.2017
16:54:41
тогда он по хешу найдет быстро этот атрибут
Ну, а если этот атрибут внутри массива?

Darafei
11.01.2017
16:54:55
простой jsonb_ops работает

Mikhail
11.01.2017
16:56:02
т.е. у меня json вида "[ { "ключ" : { "удаляемый_ключ" : "значение" } } , { "ключ" : { "удаляемый_ключ" : "значение" }]"
тогда тоже норм будет удаление ключа из столбца?

Darafei
11.01.2017
16:56:55
у тебя что-то странное со структурой

Mikhail
11.01.2017
17:00:22
Нельзя массив в корень json?

Darafei
11.01.2017
17:02:51
можно, но я такое чаще видел в непродуманных дизайнах, чем в легитимных (но в легитимных тоже встречал)
ты начал с EAV, прямая трансляция EAV в jsonb выглядит, как flat object

Nikita
11.01.2017
17:06:22
я бы честно говоря думал не про сложность удаления ключа из джсона, а про то, что всё значение на диске будет переписано.

Sergey
11.01.2017
17:07:39
ну может это не update а просто select