
Fedor
27.03.2018
12:52:03
https://postgrespro.ru/docs/postgresql/9.6/runtime-config-autovacuum.html
тут не нашел .

Evgeniy
27.03.2018
13:12:56

Fedor
27.03.2018
13:13:14
Спасибо .

Evgeniy
27.03.2018
13:13:22
можно например убить уже запущенные если хочется форсануть

Google

Fedor
27.03.2018
13:13:51
не, норм я подожду там не долго
Коллеги непонятная ситуация :
похоже что статистика при автовакуме не передается слэйву.
хотя после ручного запуска vacuum analyze все доходит .
суть такая есть часто изменяющаяся таблица при запросе на реплике попадаю на большой Heap Fetches: 18623
запрос делается до 400 мсек
как только на мастере запускаю анализ Heap Fetches: 6394
запрос исполняется 5-10 мсек
прикрутил к таблице
alter table callback SET (autovacuum_analyze_scale_factor = 0.0);
alter table callback SET (autovacuum_analyze_threshold = 500 );
Вижу в статистике автовакуум по ней ходит но толку мало на картинке это выглядит так : (резкие спады это ручной запуск анализа на мастере )
что я могу упустить в автовакуме ?

Darafei
27.03.2018
13:26:21
у тебя не append only случайно?

Fedor
27.03.2018
13:27:56
да только добавляются записи

Darafei
27.03.2018
13:28:44
и скан у тебя index only должен был быть?

Fedor
27.03.2018
13:29:00
Index Only Scan using idx_callback__status_next_run_at_2 on callback t
так и есть

Darafei
27.03.2018
13:29:35
напиши, пожалуйста, в этот тред, что и тебя эта проблема покусала: http://www.postgresql-archive.org/All-Taxi-Services-need-Index-Clustered-Heap-Append-td6008728.html

Fedor
27.03.2018
13:30:22
изветсный баг ? !

Darafei
27.03.2018
13:30:39
формально - документированное поведение

Fedor
27.03.2018
13:31:05
мда , но немного нелогичное

Google

Darafei
27.03.2018
13:31:25
ты прочитал тред? :)

Fedor
27.03.2018
13:31:47
нет еще , там чето много :) и по буржуйскому , я медленно читаю
* EXPLAIN (BUFFERS) revealed that Visibility Map is never being frozen, as autovacuum ignores append-only never-updated never-deleted table that is only truncated once a day. No way to force autovacuum on such table exists.

Darafei
27.03.2018
13:38:15
ага

Сергей
27.03.2018
13:39:27

Darafei
27.03.2018
13:40:26
если в таблице никогда ничего не стирать, то в неё не приходит autovacuum, и из-за этого не работает index only scan

Fedor
27.03.2018
13:42:06
Сама задумка не посылать туда автовакум неплоха , если бы автовакум не запускал процесс сбора статистики котрая нужна для плана запроса
в нашем случае она не обновляется адекватно и получается не очень все хорошо, теперь японял зачем коллеги запускаю на таких таблицах анализ вручную по крону

Darafei
27.03.2018
13:43:11
там не нужна статистика, там нужен visibility map

Сергей
27.03.2018
13:43:19

Darafei
27.03.2018
13:43:22
за статистикой как раз приходит

Fedor
27.03.2018
13:43:24
ну да , сорри , я ее имел ввиду

Darafei
27.03.2018
13:44:37
и получается лишнее чтение на кучу гигабайт

Fedor
27.03.2018
13:45:07
вот вот

Darafei
27.03.2018
13:45:27
вот вот
а можно это "вот вот" в хакерс написать? :)

Сергей
27.03.2018
13:46:22

Darafei
27.03.2018
13:46:32
да
только на чтение не пофиг, из-за него вакуум нельзя позвать быстрее чем с какой-то периодичностью

Fedor
27.03.2018
14:11:35
http://bitnine.net/blog-useful-information/index-only-scan-and-visibility-map-22/?ckattempt=3

Google

Fedor
27.03.2018
14:11:46
вот тут подробне об этом расказывается

Voldemar
27.03.2018
14:13:10
может ктониб обьяснить простым языком, по какому принципу валы пишуться? если например с момента записи прошлого сегмента вал произошла одна малюсенькая транзакция, то она запишется в новый сегмент размером 16 мб? или просто создается файл размером 16 мег, и туда пишутся постепенно все трангзакции пока он не "заполнится" а в случае с потоковой репликацией слейв вытягивает из сегмента транзакции так же постепенно со смещением в этом файле, или он тащит весь сегмент? постгрес про доку читал, но до конца не понял

Fedor
27.03.2018
14:14:20
Есть время сброса вал . И все что за это время набралось скинется в 16МБ файл даже если это 1 транзакция

Voldemar
27.03.2018
14:16:40
а я думал раз этио журнал упреждающей записи, то в него данные скинутся перед фиксацией транзакции, а время сброса применимо к чекпойнтам, когда данные скидываются непосредственно в файлы таблиц.. хм..

Fedor
27.03.2018
14:20:25
https://postgrespro.ru/docs/postgresql/9.4/runtime-config-wal
я боюсь наврать в объяснениях , поэтому дам ссылку

Voldemar
27.03.2018
14:21:48

Arthur
27.03.2018
14:24:40


Fedor
27.03.2018
14:32:58
Специальный фоновый процесс checkpointer автоматически выполняет контрольную точку с заданной частотой. Контрольная точка выполняется через каждые checkpoint_segments сегментов журнала или каждые checkpoint_timeout секунд, в зависимости от того, какое событие наступит первым. Значения по умолчанию — 3 сегмента и 300 секунд (5 минут). Если с предыдущей контрольной точки ни один файл WAL так и не был записан, то новые контрольные точки будут пропущены, даже если наступил checkpoint_timeout. (Если используется архивирование WAL и вы хотите управлять частотой смены файлов журнала для ограничения потенциальной потери данных, то нужно корректировать параметр archive_timeout, а не параметры контрольной точки). Также возможен принудительный запуск контрольной точки с помощью SQL-команды CHECKPOINT
Снижение количества checkpoint_segments и/или checkpoint_timeout приводит к более частому созданию контрольных точек. Это позволяет ускорить восстановление после краха (поскольку для воспроизведения нужно меньше данных).


Voldemar
27.03.2018
14:35:56

Fedor
27.03.2018
14:36:16
да

Viktor
27.03.2018
14:59:45
Ребят, чем проще и удобнее создавать партиции по расписанию? И что скажете о pg_pathman?

Andrew
27.03.2018
15:14:02
Используем партман
Жалоб нет

Andrey
27.03.2018
15:50:46
Добрый вечер. Уже огромное количество времени убил. Никак не получается победить pgbouncer (auth_type = hba, auth_query). Кто нибудь настраивал ? Буду очень признателен если кто поможет. (думаю лучше в личку, чтобы тут не флудить)

Andrey ?
27.03.2018
19:24:27
Всем привет. Хелп. Почему idea кричит, что такое бд нет, а постгрес ее показывает?

Google

Andrey ?
27.03.2018
19:24:28

Lev
27.03.2018
19:32:36
idea пытается зайти по сети, а база открыта только по сокету
см pg_hba.conf

Arthur
27.03.2018
19:43:09

Admin
ERROR: S client not available

Andrey ?
27.03.2018
19:44:11

Миша
28.03.2018
08:13:46
У меня в таблице два поля segment_id и product_id. Я туда заношу записи в определенном порядке. Так вот когда я их селектом тяну они мне возвращаются отсортированные по segment_id и product_id. Но то в каком порядке я их заносил, я смотрю им плевать. Получается единственный способ решить это это добавить автоинкремент id?

Alexander
28.03.2018
08:15:22
Насколько я знаю, SELECT без указания ORDER BY не гарантирует порядка. Если вам нужен определенный порядок -- делайте ORDER BY

Pavel
28.03.2018
08:21:02
насколько я знаю, база ничего не знает о том что первым её пришло, а что последним. Или нет?

Darafei
28.03.2018
08:22:18

Mike Chuguniy
28.03.2018
08:37:25
Вопрос спецам по датагрипу. У меня в БД 100500 мульёнов схем. Датагрип видит только публик. Бобёр видит все. Коннект - одним и тем же пользователем? Это побеждается, или как?

Илья
28.03.2018
08:39:01
Раскрой коннект -> Schemas.. -> All schemas

Alex
28.03.2018
08:40:08
кстати, ребят, кто-нибудь уже щупал dbForge?

Mike Chuguniy
28.03.2018
08:40:50
Спасибо. Только вот данный факт - весьма удручающий, ибо большинство схем - рабочие, и дополнительные телодвижения - грусть, печаль, тоска, тлен и безысходность.

Darafei
28.03.2018
08:41:18
@Chuguniy заведи тикет

Миша
28.03.2018
08:43:49
created_at timestamptz default now()
Проблема в том что из этой базы берут данные из разных проектов. Мне нужно чтобы все они волшебным образом получали отсортированные данные. Если я просто добавлю created_at, то если везде не добавят orderBy, насколько я понимаю оно будет по прежнему тянуться?

Darafei
28.03.2018
08:44:31

Anton [Mgn, az09@osm]
28.03.2018
08:45:37

Darafei
28.03.2018
08:46:42
сделать вьюшку не научит программистов формулировать запросы, и создаст перформанс-проблемы из-за сортировок где не надо

Google

Миша
28.03.2018
08:46:53

Anton [Mgn, az09@osm]
28.03.2018
08:46:54
короче неправильная архитектура порождает костыли

Миша
28.03.2018
08:47:22

Darafei
28.03.2018
08:47:25

Vladimir
28.03.2018
08:47:41

Anton [Mgn, az09@osm]
28.03.2018
08:54:57

Mike Chuguniy
28.03.2018
09:20:45
Второе: у бобёра, когда активна вкладка "procedures", клик правой кнопкой мыши выдаёт окошко в котором один из пунктов: "Create procedures", соответственно, дальше генерится SQL создания пустой ф-ии, возвращающей INT-вое значение. Такой радости в Datagripe я не вижу. И гугель ничего внятного по этому поводу не выдаёт.
@Chuguniy заведи тикет
если будет принято решение о покупке. В противном случае у меня нет ни времени, ни желания, если честно. Меня бобёр устраивает.

Darafei
28.03.2018
09:22:10
если есть время поныть в чатик, есть время завести тикет
вещи одного порядка
не купишь - придёшь через год перепосмотреть, а оно и сделано

Mike Chuguniy
28.03.2018
09:28:32
не купишь - придёшь через год перепосмотреть, а оно и сделано
Сделают, буду посмотреть, если желание будет. Пока что для человека, все запросы которого до этого полностью удовлетворялись psql-ем (ну и ER-диаграммы в pgadmin-е, их тоже не стоит сбрасывать со счетов), по части наглядности, логичности и понятности dbeaver существенно предпочтительнее datagrip-а.
А с учётом того, что есть ещё кандидаты на рассмотрение...
В общем, буду дальше ковырять.

Darafei
28.03.2018
09:33:34
есть такая штука, причинно-следственные связи
обычно, если не рассказывать о проблеме тем, кто в состоянии с ней что-то сделать, с проблемой ничего не делается :)
особенно учитывая, что разработчики по конференциям ходят и у всех спрашивают, что им сделать и чего вам не хватает

Fedor
28.03.2018
09:34:46
??