@pgsql

Страница 740 из 1062
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 откуда транзакция как-то можно понять?

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

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 сек, а они все равно не уходят – тоже нормально?

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

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

Grigory
02.04.2018
13:49:14
Grigory а то, что таймаут стоит 60 сек, а они все равно не уходят – тоже нормально?
Это уже вопрос к тому, кто коннект открыл и не закрыл

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
Нужно смотреть на разницу RES-SHR. На скриншоте это где-то по 30МБ на процесс (кстати, немало)
смотреть надо сюда /proc/номерпроцесса/smaps а не простым вычитанием действовать

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

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

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

Pavel
02.04.2018
14:22:48
а без raise notice ?
пошагово в pgAdmin3/4

Maksim
02.04.2018
14:32:03
а без raise notice ?
можно плагинами для IDE (pgAdmin, OmniDB) добиться

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 чтобы понять почем весит один процесс. Может быть кто по другому научит. Готов выслушать

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

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

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

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 базы, я имею ввиду базы разнесенные по сервакам.

Let Eat
02.04.2018
15:42:06
А pss затрагивает shared страницы (не шаренные анонимные после COW)? Быть может Private_Clean + Private_Dirty даст точную оценку?
pss дает точную оценку. Оно не смотрит на флаги (shared, private), а смотрит сколько раз замаплена по факту

Maksim
02.04.2018
16:03:10
pss дает точную оценку. Оно не смотрит на флаги (shared, private), а смотрит сколько раз замаплена по факту
Но точным он не может быть, поскольку учитывает пропорцию шаренных страниц, тогда уж RSS. Имхо pss необходим для оценки суммы постребляемой памяти процессами, которые шарят общие сегменты. В данном случае мне интересен размер локальной "отфоркнутой" памяти, предполагая что в шаренной утечек нет

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

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

Maksim
02.04.2018
16:12:26
Все равно непонятно, что именно хотите посчитать. Вы хотите узнать сколько процесс занял под себя и ни с кем не делит? Тогда да, сумма private_*
да, под себя. Моё изначальное предубеждение было, что RES-SHR, которое есть RsAnon, для долгоживущего бекэнда устремляется к этому значению "под себя"

Let Eat
02.04.2018
16:21:54
да, под себя. Моё изначальное предубеждение было, что RES-SHR, которое есть RsAnon, для долгоживущего бекэнда устремляется к этому значению "под себя"
Если посчитаете и сравните по двум методам, поделитесь результатом? мне кажется цифры не очень сильно разойтись должны на практике

Let Eat
02.04.2018
16:32:20
ok, самому интересно. Спасибо за помощь по полям smaps)
Смотрите fs/proc/task_mmu.c в исходниках ядра, код - лучшая документация :)

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

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

Google
Евгений
02.04.2018
17:10:06
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
logical decoding это poll чистой воды
Нет, это streaming :) "начните отсюда и погнали"

используем logcal decoding и logical replication функционал (и в виде pglogical и в виде нативной фичи PG10) для подгрузки и обновления данных в приложение (на Elrang). Сплошные плюсы. На сколько помню, поддержка logical replication протокола появилась и в JDBC для PG
Да, напрямую лить в приложение это правильно. Я про notify говорил, что-то случилось, шлем сообщение, огребаем геморрой на ровном месте если сообщение не принято

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

Сейчас там тупо по индексу на каждую отдельную колонку, это работает (предполагаю что при запросе небольших чисел с высокой селективностью используется тупо скан по name, а для больших один из индексов по числовым колонкам и сортировка), но понятно что это очень неэффективно. Думаю как минимум сделать индексы условными по >= 5, скажем, чтобы не хранить бесполезные данные, и возможно сделать их составными с name, но может есть что-нибудь для многомерных spatial данных подходящее

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 вроде

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

:(

OlegBrony
03.04.2018
09:08:15


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

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, знаете такого?

Страница 740 из 1062