
Andrei
02.10.2018
19:52:26
вот еще одна тестовая
причем на 9.5 до сих пор
продакшен и препрод не чистим

Google

Andrei
02.10.2018
19:54:01
сейчас активно тестируем postgres_fdw
точнее его форк, greenplum_fdw
чтобы старые партиции загнать с сжатием в GP
а партиции в PG переасайнить на соответвующие партиции в GP
на мастере 90% - это запись\обновление
причем много идет по секционированным таблицам, так что у нас не совсем тайм-сериес)
ну и из чтений основное - это индексный поиск по секционированным таблицам с пагинацией по времени

Yaroslav
02.10.2018
20:00:38

Andrei
02.10.2018
20:01:18
обновление - в основном построчно
вставка - как адиночная, так и в батч-режиме
*одиночная
на синхронном слейве запросы - поиск по ключу во временном интервале с сортировкой по времени события

Google

Andrei
02.10.2018
20:03:25
на асинхронном - более тяжелые аналитические запросы

Yaroslav
02.10.2018
20:05:31
ну и из чтений основное - это индексный поиск по секционированным таблицам с пагинацией по времени
Т.е. это не "масштабная" аналитика (как у Ivan Muratov)?
> на синхронном слейве запросы - поиск по ключу во временном интервале с сортировкой по времени события
Т.е. по одной partition, в основном? А partitions какого размера / сколько их, примерно?
> на асинхронном - более тяжелые аналитические запросы
(А, вот это уже ближе к тому, что у Ivan Muratov) И какая у них производительность / сколько данных читается?


Andrei
02.10.2018
20:06:58
партиции понедельные, средний обьем партиции на данный момент для базы в 14тб - 300гб
супер тяжелой аналитики у нас нету
для этих целей мы ежеминутно pg_cron’м строим некоторые витрины
у нас етсь заапрувленный делай до 2 минут
но опять же, у нас проблема в том, что наша база своим обьемом уж очень уходит в сторону от своего OLTP назначения
одиночные инстансы тайм-сериес никогда не дадут производительности, которую даютс системы с горизонтальным масштабированием
как там не оптимизируй, но для большой аналитики в первую очередь нужен широкий канал для чтения с дисков
поэтому смотрим в сторону GP (опять же, есть успешный опыт построения хранилищ ОЧЕНЬ большого обьема)
вообще, я особо встревать не хотел, просто зацепило про живучесть базы на паре террабайт обьема)
шел сюда по другому вопросы
*вопросу

Ivan
02.10.2018
20:15:09
Ну круто что отписался)
Спасибо

Andrei
02.10.2018
20:15:21
у меня проблема, третий день страдаю
нужен полнотекстовый поиск
в связке с гео
БЫСТРЫЙ
)))

Google

Yaroslav
02.10.2018
20:15:55

Ivan
02.10.2018
20:16:44

Andrei
02.10.2018
20:17:36
триграммы отдельно и gin раскурил, координаты отдельно тоже отлично индексируются
пока хочется обойтись одним слоном
грубо говоря, мне нужно в функции набрать 10 строк для ответа API
сразу ищу в радиусе 10км
отсортированные по релевантности
если в этом радиусе не набралось 10 штук, то нужно добить записями в порядке удаления от центра поиска
понятно, что лимит и радиус поиска - величины динамически меняющиеся
решение “в лоб” нацарапали, работает
завтра сгененрируем данных пару миллионов строк, и оно, естественно, все встанет колом)

Darafei
02.10.2018
20:49:25

Yaroslav
02.10.2018
20:51:27

Andrei
02.10.2018
20:52:06
когда обедал, подумал об этом
но потом решил, что бредовая идея
)))

Yaroslav
02.10.2018
20:53:58
но потом решил, что бредовая идея
Попробовать-то недолго.
> завтра сгененрируем данных пару миллионов строк, и оно, естественно, все встанет колом)
А это, вообще-то, совсем немного... от row size зависит, конечно.

Demuz
03.10.2018
06:31:58
Типа нет модуля, а он есть.

Google

AlexAnder
03.10.2018
06:48:29

Ivan
03.10.2018
07:26:33
Не подскажите глупый вопрос - как дать пользователю права на селекты из всех таблиц? даю
grant connect on database my_dat_name to i_sopov;
GRANT USAGE ON SCHEMA public TO i_sopov;
grant select on all tables in schema public to i_sopov;
подключиться могу, поселектить что-то - ERROR: permission denied for schema public

Andrey
03.10.2018
07:28:59
всем привет, не большой специалист в postgre подскажите, какой механизм периодически может освобождать память в системе, GC или еще чтото? Столкнулся с тем, что OOM killer убил процесс по памяти.

Andrey
03.10.2018
07:30:35

Yaroslav
03.10.2018
07:32:38

Sergey
03.10.2018
07:32:58

Yaroslav
03.10.2018
07:36:26

Andrey
03.10.2018
07:50:38

Yaroslav
03.10.2018
08:03:19

Andrey
03.10.2018
08:03:59

Yaroslav
03.10.2018
08:04:05

Andrey
03.10.2018
08:05:04
kill -9

Yaroslav
03.10.2018
08:08:56
а можно по подробнее
work_mem:
1. Ограничивает использование памяти только одним node плана (а их могут быть десятки).
2. Всё равно будет превышена некоторыми nodes, если оценки не соответствуют реальности.

Andrey
03.10.2018
08:19:17
сейчас вот наблюдаю съедание памяти, как я могу посмотреть число сессий и сколько они сжирают? топом неудобно как то

Alex
03.10.2018
08:21:45
Доброго времени суток, постгрес каждый день в одно и то же время уходит на pg_stat_wait . Никаких джобов нету в это время. С базой работает ERP система к которому нету доступа. В логах не пишет какой запрос тормозит, в какую сторону копать ?
https://pastebin.com/XXpDJ7nn
Идет большая транзакция которая тормозит db1 2018-10-03 12:05:20 GET LOG: duration: 79657.156 ms statement: COMMIT Может добавочно какие то доги включить чтоб потом показать админам апликации

Yaroslav
03.10.2018
08:57:42

Alex
03.10.2018
08:58:44

Mike Chuguniy
03.10.2018
09:01:10

Alex
03.10.2018
09:01:58

Google

Alex
03.10.2018
09:02:26
это баг 9.2?

Yaroslav
03.10.2018
09:02:57
Upgrade пока не получится, 9.2 версия
Ну и как оно, "весело" на EOL сидеть? ;)
Ладно... а какая OS? И да, Вы пытались разобраться с:
> db1 2018-10-03 12:05:20 GET LOG: duration: 79657.156 ms statement: COMMIT
Т.к. (в современных версиях) это необычно, и возможных причин немного.

Alex
03.10.2018
09:05:08

Yaroslav
03.10.2018
09:05:14

Alex
03.10.2018
09:06:58

Mike Chuguniy
03.10.2018
09:10:27

Yaroslav
03.10.2018
09:10:54

Alex
03.10.2018
09:11:31

Mike Chuguniy
03.10.2018
09:12:50
никак не посмотреть что он комитит?
Вам надо менять формат записи в лог, чтобы увидеть процесс и номер запроса в сесси, чтобы отловить собственно запрос. Это - к документации (в комментах postgresql.conf есть вся необходимая информация)

Alex
03.10.2018
09:13:55
интересно то что всегда в одно и тоже время зависает

Mike Chuguniy
03.10.2018
09:14:48
И такой длинный коммит - он наводит на мысли, например, разные. Блокировки там, насилование дисковой системы с особопоказательной жестокостью, ну и вот это фсйо.
интересно то что всегда в одно и тоже время зависает
Ну так смотрите, что у вас в это время делается. В системе вообще, и в постгресе в частности. Или вы не в курсе, как посмотреть в консоли ПГ, чем он занят? А документацию почитать? Например, про мониторинг активности есть целая глава - вредно точно не будет.

Yaroslav
03.10.2018
09:17:58
никак не посмотреть что он комитит?
Транзакцию. ;) Вы читали, что я Вам выше писал?
Начали бы Вы с update PostgreSQL, в самом деле... ну или можете release notes полистать (кстати, Вам всё равно придётся это делать).

Andiskiy
03.10.2018
09:19:46
добрый день, есть ли способ как-то получить позицию записи в выборке и эту позицию записать в поле этой записи? интересует возможность сделать это одним запросом. подскажите пожалуйста.

Yaroslav
03.10.2018
09:19:49

Alex
03.10.2018
09:20:48
в pgstat смотрел там комиты висят , что комитит не было видно. Значит изменю лог и надо поговорить с бизнесом для downtime

Mike Chuguniy
03.10.2018
09:21:01
Ярослав добрый - всего-навсего релиз-нотес почитать. :) :D

Alex
03.10.2018
09:21:13
и до 9.6 подняться
хотябы

Yaroslav
03.10.2018
09:22:09

Mike Chuguniy
03.10.2018
09:22:11
и до 9.6 подняться
До 10-ки лучше. Там много хорошего в плане параллельных выборок при агрегациях завезли.