
Max
28.03.2017
11:58:37
киньте текст запроса

Lulz
28.03.2017
11:59:52
`INSERT INTO one_hour(id_counter, date_time, in_c, out_c)
VALUES(1, '2017-01-01 01:00',
(SELECT COALESCE(SUM(in_c),0)
FROM ten_minute
WHERE id_counter = 1 AND (date_time >= '2017-01-01 01:00' AND date_time <= '2017-01-01 01:59')),
(SELECT COALESCE(SUM(out_c),0)
FROM ten_minute
WHERE id_counter = 1 AND (date_time >= '2017-01-01 01:00' AND date_time <= '2017-01-01 01:59')))
ON CONFLICT (id_counter, date_time)
DO NOTHING`
не могу не использовать values
потому что мне нужны значения только in_c, out_c из таблицы

Google

Max
28.03.2017
12:01:41
как-то так
INSERT INTO one_hour(id_counter, date_time, in_c, out_c)
select * from (
select
1,
'2017-01-01 01:00',
(SELECT COALESCE(SUM(in_c),0)
FROM ten_minute
WHERE id_counter = 1 AND (date_time >= '2017-01-01 01:00' AND date_time <= '2017-01-01 01:59')) as in_c,
(SELECT COALESCE(SUM(out_c),0)
FROM ten_minute
WHERE id_counter = 1 AND (date_time >= '2017-01-01 01:00' AND date_time <= '2017-01-01 01:59'))) as out_c
) t where in_c is not null or out_c is not null

lemi
28.03.2017
12:02:28
там где агрегации по идее надо использовать group by having clause

Max
28.03.2017
12:02:35
вродеж можно селекты в селекте
должно работать как написал
ну и COALESCE убрать тогда

lemi
28.03.2017
12:03:49
что то вроде
INSERT INTO one_hour(id_counter, date_time, in_c, out_c)
select
id_counter,
date '2017--01-01 01:00',
sum(in_c),
sum(out_c)
from ten_minute
WHERE id_counter = 1 AND (date_time >= '2017-01-01 01:00' AND date_time <= '2017-01-01 01:59'))
group by id_counter having sum(in_c) > 0 and sum(out_c) > 0
ON CONFLICT (id_counter, date_time)
DO NOTHING`
попробовать только надо если я правильно понял то что именно надо

Max
28.03.2017
12:04:27
'2017-01-01 01:00' ПРИВОДИТЕ ЯВНО
капс

Lulz
28.03.2017
12:05:11
блин, немного переработался, как понять явно)

Anatoliy
28.03.2017
12:05:38
''::timestamp

Max
28.03.2017
12:05:40
ну вот когда написано так как написано то работает неявное преобразование

Google

Max
28.03.2017
12:05:52
а явно это или cast
или вот как выше написал коллега
переносимей кастовать

Anatoliy
28.03.2017
12:06:43
постгрес не может понять, что там у вас в строке, т.к. тип не определен. Ему надо подсказать явно

Max
28.03.2017
12:07:26
точнее он все занет просто зоны нет в строке
временной
а не
вру

Lulz
28.03.2017
12:08:28
о понятно, вроде сработало, сейчас протестирую
спасибо за помощь =)

Max
28.03.2017
12:09:05
не за что

Lulz
28.03.2017
12:09:53
а я эту проверку писал в подзапросе
но не сработало

Max
28.03.2017
12:10:02
о только OR на AND наверное надо заменить
где все не nul чтоб было
а то я чет or написал
) t where in_c is not null AND out_c is not null..

Lulz
28.03.2017
12:11:14
да это понял

Anatoliy
28.03.2017
15:58:56
@Komzpa ping

Pavel
28.03.2017
15:59:36
Надо короче сделать бота который как graylist не дает писать первые 3 минуты)

Google

Pavel
28.03.2017
15:59:43
ну или хотя бы 1 минуту

Igor
28.03.2017
15:59:53
или хотя бы никогда

Oleg
28.03.2017
16:00:20
и банит на хрен спамерасов

Darafei
28.03.2017
16:00:48
Oleg а можно выбирать выраения помягче? :)

Quorte
28.03.2017
16:01:12

Oleg
28.03.2017
16:01:35
режет глаз?

Quorte
28.03.2017
16:01:59
режет глаз?
не, просто 90% спамерских сообщений вешают кучу для привлечения внимания

Oleg
28.03.2017
16:02:43
я про помягче спросил у Дарафея

Alex
28.03.2017
16:02:49
Ну тут есть выросшие не только в IRC и привыкшие обстоятельно отвечать так или иначе :)

Darafei
28.03.2017
16:04:11
берите пример с @Bereznyak

Oleg
28.03.2017
16:04:54
возьмем, а где пример?

Степан
28.03.2017
17:42:56
Всем привет. У меня вопрос, возможно ли множественное удаление сделать в постгресе? Я делаю следующее delete from table where (1,2,3,4) in (1,2,3,4,5,6,7,8,9). Вместо цифр в скобках идентификаторы из бд. Бд отвечает что не может такого сделать, есть ли выход?

Igor
28.03.2017
17:44:31
а что подразумевает where (1, 2, 3, 4)?

Степан
28.03.2017
17:45:10
Он вытягивает селектом там идентификаторы тоже.

Ivan
28.03.2017
17:48:00
Тебе надо наверное @>
Вместо in

Igor
28.03.2017
17:48:25
не понял, в чем проблема
http://pastebin.ca/3787357 - не?

Степан
28.03.2017
17:48:27
Сейчас попробую.
Теперь такое operator does not exist: bigint @> bigint . Он не может применить к бигинту этот оператор походу.

Ivan
28.03.2017
17:51:05
Подумал у тебя там массивы

Google

Степан
28.03.2017
17:51:48
Я переводил в массивы, он ошибку не пишет, но и не удаляет.

Ivan
28.03.2017
17:53:04
А разверни знак из @> на <@

Admin
ERROR: S client not available

Ivan
28.03.2017
17:53:19
Когда к массивы приведешь

Степан
28.03.2017
17:54:10
Он мне все стер)
Должно же работать таким способом @> ?

Ivan
28.03.2017
18:06:49
contains — true if left array contains right array
но у тебя вроде как наоборот

Степан
28.03.2017
18:07:43
Почему наоборот? Написано что тру если левый содержится в правом.
У меня именно так.

Роман
28.03.2017
18:42:36
Ребят, а подскажите, что лучше для хранения денег использовать — money или numeric?

Alex
28.03.2017
18:59:35
numeric т.к у типа money есть ограничения
например : значения этого типа зависят от региональных стандартов, попытка загрузить данные типа money в базу данных с другим параметром lc_monetary может быть неудачной. Во избежание подобных проблем, прежде чем восстанавливать копию в новую базу данных, убедитесь в том, что параметр lc_monetary в этой базе данных имеет то же значение, что и в исходной.

Oleg
28.03.2017
19:10:03
можно попробовать новую noSQL бд - noMoney

Igor
28.03.2017
21:37:34
Коллеги, patroni ha cluster использует кто?)

Andrew
28.03.2017
22:22:00
народ, как lvcreate собрать раздел использующий блоки сразу на нескольких pv, но только в режиме jbod (а не stripe или mirror)? немного не по теме, но может кто подскажет, чот не могу нагуглить и в мане не вижу...
впрочем postgresql там рядом тоже есть :-)

Igor
28.03.2017
22:24:02
точнее vg из нескольких pv

Andrew
28.03.2017
22:24:39
вот всегда так, напишешь - и решение приходит)

Google

Andrew
28.03.2017
22:24:58
мне достаточно просто в -I большое число указать, сделав страйпы большими

Igor
28.03.2017
22:25:57

Andrew
28.03.2017
22:27:03
да кучу картинок надо обработать, так будет эффективнее

Igor
28.03.2017
22:29:25

Andrew
28.03.2017
22:30:49
почему ты так решил?.. просто обычный страйп для чтения одной картинки будет несколько дисков дергать и ждать

Igor
28.03.2017
22:31:31
с чего бы это

Andrew
28.03.2017
22:31:45
хочется чтобы картинка целиком в один блок одного диска влезала... или я что-то не так понимаю?

Igor
28.03.2017
22:31:47
разве что страйп одиночный не лежит на 2-х pv
ааааа
ты хочешь сделать размер страйпа больше картинки

Andrew
28.03.2017
22:32:49
да
хм, наверно можно было просто два pv ему указать, и он бы по-ровну между ними том разделил?