
Nikita
02.04.2018
13:41:54
ребят, подскажите пожалуйста, висит куча idle транзакций, они нормально так жрут памяти, как можно отследить откуда они, дабы найти корень проблемы?
http://joxi.ru/LmGjJqaue60vzr

Artem
02.04.2018
13:45:36

Nikita
02.04.2018
13:45:54
да, все верно, но pid откуда транзакция как-то можно понять?

Alex
02.04.2018
13:46:11

Google

Alex
02.04.2018
13:46:43
netstat ом можно поглядеть чо за приклад такой соединился

Grigory
02.04.2018
13:47:24

Nikita
02.04.2018
13:47:46
господа, что посоветуете сделать, куда копать? ибо это не нормально

Anatoly
02.04.2018
13:47:54
RES-SHR небольшое, так что суммарно немного памяти.
pid > pg_stat_activity, там можно последние запросы посмотреть.

Grigory
02.04.2018
13:47:58
Это нормально

Nikita
02.04.2018
13:48:26
Grigory а то, что таймаут стоит 60 сек, а они все равно не уходят – тоже нормально?

Vladimir
02.04.2018
13:48:30

Anatoly
02.04.2018
13:48:45
это коннекшны, а не транзакции. пул держит коннекшн "вечно"

Nikita
02.04.2018
13:49:09
это именно коннешн, не пулы?

Grigory
02.04.2018
13:49:14

Anatoly
02.04.2018
13:50:12
это именно коннешн, не пулы?
сложно сказать пул или нет (возможно кто-то не закрывает за собой коннекшн), но выглядит как пул, который занял сразу N коннекшнов и ждет.
2 пула)

Google

Nikita
02.04.2018
13:52:19
спасибо большое! буду думать

Vladimir
02.04.2018
13:55:06
ребят, подскажите пожалуйста, висит куча idle транзакций, они нормально так жрут памяти, как можно отследить откуда они, дабы найти корень проблемы?
http://joxi.ru/LmGjJqaue60vzr
Тут важно не путать «idle» и «idle in transaction». На картинке просто «idle», т.е. реально транзакций нет. Это просто процессы (соединения)
Если интересно на что уходит 30 мегабайт (по-моему, 30 мегабайт это уже повод посмотреть), можно подключиться через gdb: https://wiki.postgresql.org/wiki/Developer_FAQ/ru#.D0.90.D0.BD.D0.B0.D0.BB.D0.B8.D0.B7_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D1.83.D0.B5.D0.BC.D0.BE.D0.B9_.D0.BF.D0.B0.D0.BC.D1.8F.D1.82.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B5.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.B0
Но стоит запускать MemoryContextStatsDetail(TopMemoryContext, 5000), т.к. иначе выведутся первые 100 записей без какой-либо сортировки.

Alex
02.04.2018
14:01:22

Lulz
02.04.2018
14:06:14

Maksim
02.04.2018
14:07:41

Vladimir
02.04.2018
14:08:08
А как сделать Vacuum целой схемы?
Я накатал команду которая составляет построчно вакуум для каждой таблицы
Но vacuum не выполняется в паре с другой командой ( даже с другим вакумом(

Demian
02.04.2018
14:18:59
Народ, всем привет
я начинающий программер в БД Postgresql
хотел бы узнать как проще всего дебажить хранимки

Maksim
02.04.2018
14:19:29

Demian
02.04.2018
14:19:51
а без raise notice ?

Pavel
02.04.2018
14:22:48

Maksim
02.04.2018
14:32:03

Demian
02.04.2018
14:32:48
просто никогда не делал
так вот ищу варианты
pgAdmin4(web) умеет?

Let Eat
02.04.2018
14:38:08
а чем вычитание не устраивает?
в Linux память при форке не копируется, помечается как copy-on-write. Если ваш процесс ест 100 мб в RSS и практически 0 в SHR и отфоркается 10 раз, при этом ничего делать не будет, то в top вы увидите 10 раз по 100 в RSS , хотя на самом деле занято все те же 100 мб плюс крошки

Alex
02.04.2018
14:40:05
а чем вычитание не устраивает?
Тем что RSS процесса это с учетом памяте того процесса который форкнул искомый. на самом деле искомый процесс если ничего не потрогал в пямяти будет вполне обладать rss равным предку. поэтому вот такая математика.
правильнее смотреть на pss в smaps чтобы понять почем весит один процесс.
Может быть кто по другому научит. Готов выслушать

Maksim
02.04.2018
14:46:25

Anatoly
02.04.2018
14:48:23
пропорциональный RSS. вместо 10 по 100 будет 10 по 10.

Alex
02.04.2018
14:51:27

Google

Roman
02.04.2018
15:12:28
Привет

Islomkhodja
02.04.2018
15:13:49
Всем привет, хотел изучать Постгрес глубже. Какие книги, сайты, блоги можете посоветовать, буду благодарен

Andrey
02.04.2018
15:15:51

Roman
02.04.2018
15:16:08
Господа, нужна подсказка, есть форум(не самописный, поэтому надо как-то гладко для него шардировать), хочу в нем данные учеток пользователей разнести на 2 бд по странам, партицировать это дело не трудно, можно сделать по полю country, а вот как теперь это шардировать по разным сервакам? т.е. я хочу иметь 2 партиции, 1: Россия, 2: все остальное, а дальше Россию держать в одной базе, а остальное в другой. Наткнулся в сети на fdw но не уверен, что это верный вариант.

Islomkhodja
02.04.2018
15:18:08

Roman
02.04.2018
15:21:28
говоря про 2 базы, я имею ввиду базы разнесенные по сервакам.

Maksim
02.04.2018
15:26:15

Let Eat
02.04.2018
15:42:06

Maksim
02.04.2018
16:03:10

Let Eat
02.04.2018
16:04:42

Maksim
02.04.2018
16:05:02
от локальной постмастера

Let Eat
02.04.2018
16:08:02
Все равно непонятно, что именно хотите посчитать. Вы хотите узнать сколько процесс занял под себя и ни с кем не делит? Тогда да, сумма private_*

Maksim
02.04.2018
16:12:26

Let Eat
02.04.2018
16:21:54

Maksim
02.04.2018
16:29:39

Let Eat
02.04.2018
16:32:20

Евгений
02.04.2018
16:54:14
Коллеги, подскажите, пожалуйста. Нужно при изминении строки в таблице информировать об этом java (tomcat) как это реализовать?

Pavel
02.04.2018
16:58:16

Vladimir
02.04.2018
17:04:16

Let Eat
02.04.2018
17:05:45
Все эти notify это путь вникуда. Если на том конце сервис в дауне, кто эту запись обработает? Все-равно poll делать

Google

Евгений
02.04.2018
17:10:06

Vladimir
02.04.2018
17:10:44

Admin
ERROR: S client not available

Alexey
02.04.2018
17:15:59
logical decoding это poll чистой воды
используем logcal decoding и logical replication функционал (и в виде pglogical и в виде нативной фичи PG10) для подгрузки и обновления данных в приложение (на Elrang). Сплошные плюсы.
На сколько помню, поддержка logical replication протокола появилась и в JDBC для PG
Ну на счет poll чистой воды я бы тут не согласился
то, что при недоступности приложения данные никуда не деваются - это так. Они лежат в WAL-ах и защищены Replication Slot-ом (если он не временный)
но в то же время, это не опрос со стороны клиента об измнениях, а пуш со стороны PG при изменениях.

Let Eat
02.04.2018
17:37:24


Dmitry
02.04.2018
23:30:54
Привет. А не подскажете какие лучше индексы использовать для следующего: запись представляет собой колонку name и 4 колонки целых чисел меньше 500 распределённых примерно по Пуассону (т.е. единиц больше всего, двоек меньше итд.). Нужно фильтровать по условию больше/меньше/равно по нескольким числовым и сортировать по name
Сейчас там тупо по индексу на каждую отдельную колонку, это работает (предполагаю что при запросе небольших чисел с высокой селективностью используется тупо скан по name, а для больших один из индексов по числовым колонкам и сортировка), но понятно что это очень неэффективно. Думаю как минимум сделать индексы условными по >= 5, скажем, чтобы не хранить бесполезные данные, и возможно сделать их составными с name, но может есть что-нибудь для многомерных spatial данных подходящее

Let Eat
03.04.2018
01:07:24

Denis
03.04.2018
02:07:03


Ilia
03.04.2018
05:30:04
Привет. А не подскажете какие лучше индексы использовать для следующего: запись представляет собой колонку name и 4 колонки целых чисел меньше 500 распределённых примерно по Пуассону (т.е. единиц больше всего, двоек меньше итд.). Нужно фильтровать по условию больше/меньше/равно по нескольким числовым и сортировать по name
по каждому сочетанию колонок, по которым делается фильтрация, индекс. Порядок полей не важен, если все распределены одинаково — всё равно не угадаешь.
Если несколько условий, и только одно равно, то в индек надо брать колонку где равно, и одну из тех, что > или < Несколько колонок где > < брать не надо. (если только для других запроосов подойдёт).
Так сложно объяснить, можно дать пару запросов лучше, покажу.


Demian
03.04.2018
06:03:46
Может кто решал проблему, есть бд(не посгря) с неё надо а посгрю перекинуть юзеров, как быть с паролями? Ну и при регистрации новых юзеров как быть(говоря простым языком перекидываем юзеров с одного сервиса на другой, и юзер может пользоваться обеими сервисами)

Artem
03.04.2018
06:04:53
странно
исходная БД - какая?

Mike Chuguniy
03.04.2018
06:35:54
* стеная и плача крокодиловыми слезами
Вот вам тут всем хорошо, а с меня требуют объяснения, почему ПГ надо инитить с контрольными суммами, приводя в пример существующее положение вещей: - ну сейчас же без контрольных сумм работает! Чем будет лучше?

Google

Demian
03.04.2018
06:36:00
Mysql вроде

Sergey
03.04.2018
07:15:55

Mike Chuguniy
03.04.2018
07:42:22
Блок занули
Я на испытательном, чтобы такие демонстрации устраивать.
:(

OlegBrony
03.04.2018
09:08:15

Vladislav
03.04.2018
09:09:09
я тоже не понимаю на украинском

Artem
03.04.2018
09:09:41

ros
03.04.2018
09:10:26
1 бал
тут за перевод только бала 3 надо

Dmitriy
03.04.2018
09:11:11
Привет, я от @bobrovskiy_roman, знаете такого?

Roman
03.04.2018
09:11:26
сука

some_random_anonymous
03.04.2018
09:11:45
Привет, я от @bobrovskiy_roman, знаете такого?