
Alexey
13.02.2017
09:57:52
велком
лет 15 уже оракл не трогал :)

Dmitrii
13.02.2017
12:21:41
2017й год, что лучше брать pgpool или pgbouncer?

Айтуар
13.02.2017
12:22:08

Google

Dmitrii
13.02.2017
12:22:44
Сохранить соединения. Сегодня случился день X когда у нас на RDS кончились 150 соединений )

Айтуар
13.02.2017
12:24:40
тогда второй

Петр
13.02.2017
12:24:57
мы пользуем пгбаунсер

Anatoliy
13.02.2017
12:26:14
+1 (но есть особенности)

Taras ?
13.02.2017
12:26:39
присоединяюсь к вопросу —
как правильно pgbouncer готовить?
может кто добрый конфигом поделится?

Dmitrii
13.02.2017
12:27:05
Какие подвозные камни? Вся инфраструктура в амазоне.

Петр
13.02.2017
12:27:11
да что там настраивать-то?

Айтуар
13.02.2017
12:27:27
я по гуглу настроил

Anatoliy
13.02.2017
12:27:29
Подводные камни у нас возникали в сессионом режиме

Taras ?
13.02.2017
12:27:38

Dmitrii
13.02.2017
12:27:58
У нас есть есть что-то типа SET TIMEZONE. Ты про это?

Google

Anatoliy
13.02.2017
12:29:44
Если это вопрос ко мне, то да – возникают всякие ништяки при попытке выставить что-нибудь. типа set path и т.п

Darafei
13.02.2017
12:47:36
я вот вчера спрашивал, получится ли сегфолтами поломать ридреплику. у нас за пять минут не получилось :)

Dmitrii
13.02.2017
12:59:25

Vladimir
13.02.2017
13:00:06
Саша откуда вы берете шаблоны ?
CSS

Darafei
13.02.2017
13:10:20
у кого мониторинги настроены, знайте: pg_postmaster_start_time не сбрасывается на сегфолте

Роман
13.02.2017
13:27:28
Господа, а разъясните за Recheck cond, когда ищу по gin-индексу — откуда оно берется?

Alexander
13.02.2017
13:29:29
Берётся оттуда, что GIN не может точный результат вернуть.
Детальнее сказать можно только зная о каком запросе речь.

Роман
13.02.2017
13:31:13
Сейчас вопрос по этому запросу:
SELECT
datetime,
avg((data ->> 'Alarm Word 1') :: NUMERIC)
OVER (
ORDER BY datetime
ROWS BETWEEN 0 PRECEDING AND 16 FOLLOWING) AS value,
row_number()
OVER () AS rn
FROM units_data_log
WHERE data ->> 'Alarm Word 1' IS NOT NULL
ORDER BY datetime
Задача отсеять записи, в которых отстутствует ключ 'Alarm Word 1'
в идеале следует использовать WHERE data ? 'Alarm Word 1', вот только этот запрос выполняется гораздо дольше, чем первый
несмотря на то, что добавил GIN для поля data

Alexander
13.02.2017
14:03:31
Покажите explain (analyze, buffers) для исходного запроса и запроса с WHERE data ? 'Alarm Word 1'

Darafei
13.02.2017
14:05:52

Alexander
13.02.2017
14:07:45
Почему where not? Вечь человеку нужно, чтобы *ключ был*
Оператор вопрос ровно это и делает.

Роман
13.02.2017
14:40:15

Dmitrii
13.02.2017
15:56:27
Так а что в итоге с переменными и пгбаунсером?
А, кажется я вспомнил хак для этого какой был. Все это заворачивается в транзакцию SET + исходный запрос.

Google

Dmitrii
13.02.2017
17:08:14
Уже представляю как буду расширять наш ORM под это )
Я ведь правильно понимаю, что я могу на каждый app инстанс поставить по пгбаунсеру чтобы не городить лишних точек отказа?

Петр
13.02.2017
17:57:14
если не хотите городить, то можете вообще один баунсер для всего поставить))

Dmitrii
13.02.2017
19:17:32
А в pgbouncer реально сделать чтобы все таки пароль от приложения был приоритетным и не лежал в баунсере?

Роман
13.02.2017
20:02:33

Alexander
13.02.2017
20:13:02
work_mem маловат... Из-за этого получается lossy bitmap и возникает много recheck'а.

Роман
13.02.2017
20:14:40
так и думал, спасибо за информацию, проблема в том, что база на amazon rds, так что проблематично будет увеличить

Dmitrii
13.02.2017
22:18:20
Что посоветуете, если у меня план показывает Bitmap Index Scan для 1.5млн строк?)

Evgeniy
13.02.2017
22:21:15
перелопатить данные чтобы не сканировать 1.5кк

Dmitrii
13.02.2017
22:22:39
Проблема в том, что придется это делать каждый раз, когда в базе меняется хотя бы одна из 1.5kk строк )
Это расписание

Evgeniy
13.02.2017
22:23:39
поясни

Dmitrii
13.02.2017
22:24:15
Ну вот лежит в базе 1.5кк записей таймфреймов пользователей
Надо на момент времени t понять каких пользователей выбрать
Т.е. у кого есть свободное время.

Evgeniy
13.02.2017
22:24:58
гист не работает?

Dmitrii
13.02.2017
22:25:06
гитс?
А, гист

Evgeniy
13.02.2017
22:25:27
угу
звучит как интервалы

Google

Evgeniy
13.02.2017
22:26:02
баундинг боксы, вот это всё

Dmitrii
13.02.2017
22:26:16
бтри пока
Куда копать чтобы было быстро?
ну помимо гиста

Evgeniy
13.02.2017
22:27:06
подумай какая оптимальная структура данных и её индексирование, если бы базу данных ты програмировал сам
и положи данные так, но в базу с нужным индексом

Dmitrii
13.02.2017
22:27:49
В смысле саму СУБД?)

Evgeniy
13.02.2017
22:28:54
ну назовем это не субд а опердень-микросервис который все данные держит в памяти

Dmitrii
13.02.2017
22:29:28
?

Evgeniy
13.02.2017
22:29:48
представь что ты не разработчик на пхп, а чувак который пишет дохуя апликуху со стейтом, всё серьезно
чисто под конкретную задачу

Dmitrii
13.02.2017
22:30:56
Тут еще проблема в том, что надо прямо в запросе делать length(lseg(a.point, b.point)).

Evgeniy
13.02.2017
22:31:22
воу воу

Dmitrii
13.02.2017
22:32:16
Да..

Evgeniy
13.02.2017
22:33:22
ты такси что ли там в джуно прогромируешь?

Dmitrii
13.02.2017
22:33:35
Ахаха не
В общем заменили btree на gist и поля дат на поле с типом интервала и выиграли 75% производительности.

Darafei
14.02.2017
06:28:27
почему не a.point <-> b.point ?

Dmitrii
14.02.2017
08:52:40

Google

Darafei
14.02.2017
08:53:20
конструкция "сделать из двух точек линию и померять длину" откуда-то оттуда веет

Dmitrii
14.02.2017
08:54:10
Не знаю. А выше это полный эквивалент?

Айтуар
14.02.2017
08:54:11
Действительно, почему нельзя сразу расстояние измерить. )

Dmitrii
14.02.2017
08:54:55
Мопед не мой, пойду передам)
Спасибо

Darafei
14.02.2017
08:58:41
а скажите, есть какой-нибудь софт, в котором можно удобно порассматривать многомерный crosstab?

Anton [Mgn, az09@osm]
14.02.2017
08:59:07
окулус?

Darafei
14.02.2017
08:59:25
тогда уж вайв
но вопрос про софт :)

Alexey
14.02.2017
09:00:14

Darafei
14.02.2017
09:00:15
софт для рассматривания МРТ интерфейсно похож на то, что хотелось бы

Alexey
14.02.2017
09:00:18
Теперь в 3D.

Dmitrii
14.02.2017
09:35:13
План запроса некисло схуднул
В общем вчера у нас было 490мс. Сейчас 15мс ?

Darafei
14.02.2017
09:36:03
если кто-то конструирует промежуточные сущности без нужды, бейте его