@pgsql

Страница 397 из 1062
Евгений
11.07.2017
11:40:51
Народ, привет всем!) Периодически плагин мотиноринга mamonsu теряет соединение с бд, и потом переконнекчивается, из-за чего такое может происходить? Из-за агрессивного сбора показателей? Интервал подключения и сбора занимает больше 1 сек и zabbix ругается? Вот что пишет <-= SED FAIL: Mamonsu plugin errors on db-slave1. Last: catch error: [Errno 104] Connection reset by peer. Total count: 1. on db-slave1 =-> =============*-*-*-*============= Last value: Last: catch error: [Errno 104] Connection reset by peer. Total count: 1. (13:01:57) Original event ID: 3035034 =============:-:-:-:============= Кто-нить сталкивался?

Теряется связь с заббикс-сервером

Grigory
11.07.2017
12:33:44
пм

Google
Евгений
11.07.2017
12:55:34
В pgbouncer в это время были такие записи: closing because: client close request (age=0) closing because: client close request (age=1) и потом переподключение: login attempt: ...

Anatoliy
11.07.2017
13:42:01
Эм, может у вас количество клиентов к pgbouncer превышено? и соответственно лишнее отсекается

Евгений
11.07.2017
13:45:46
Да-да, я тоже пока на это грешу .... Просто в очереди не дожидается своего часа. Стоит 40, нужно с настройками плагина поиграться, чтобы не так часто ломился или пул увеличить ...

Vladislav
11.07.2017
14:34:03
А что вакансию то удалили, я уже хотел затролить за такую вилку? ?

Darafei
11.07.2017
14:36:27
потому что не постгрес

Rinat
11.07.2017
15:36:03
друзья, всем привет, поделитесь пожалуйста опытом есть задача, из jsonb поля вытягивать только определенное property, причем у разных сущностей сам jsonb документ может быть разным и содержать различные property запрос в моем случае содержит вот такой кусочек jsonb_build_object('10055', m.value -> '10055') as value как выяснилось, то разница по времени обращения к полю value и в приведенной конфигурации порядка 600 ms, т.е. выборка конретной property из jsonb поля подтормаживает что посоветуете в этой ситуации ?

Артур
11.07.2017
16:38:51
мы, если часто обращаемся к какой либо JSON переменной - выносим обычно в отдельное поле. Где-то тут говорили что с JSON как с документориентированной БД работать не самая хорошая идея
Я где-то полгода-год назад планировал использвать JSONB хранения динамичных данных, например частные параметры товара. Тогда как раз и получил совет пересмотреть структуру и минимизировать использование JSON до случаев, когда без них ну уж совсем нельзя

Fike
11.07.2017
17:10:12
> бизнес > mms

> ICQ

Артур
11.07.2017
20:17:03
> ICQ
Чё? Это? Щас? Было?

Google
Arthur
11.07.2017
20:17:57
цитата с удаленного спама

Dmitry
11.07.2017
20:23:16
а уже обсуждали прекрасное? :) How we almost lost an important client because of MySQL & UTF8 https://www.reddit.com/r/programming/comments/6mksng/how_we_almost_lost_an_important_client_because_of/

Петр
12.07.2017
07:20:20
Эм, может у вас количество клиентов к pgbouncer превышено? и соответственно лишнее отсекается
Нет, не это, в этом случае другие ошибки. Тут просто сообщения о том, что соединение закрыто клиентом

Andrey
12.07.2017
07:27:25
Ребят, кто использует тулы для миграции изменений БД?

Alexey
12.07.2017
07:32:19
sqitch

Artem
12.07.2017
07:35:05
Коллеги, нашел тут небольшую бд на 50гб, на ней полностью выключен autovacuum. Вопрос, как долго она ещё проживет?

Alexey
12.07.2017
07:36:48
ты реально думаешь, что кто-то сможет тебе дать полезную информацию по таким вводным?

Artem
12.07.2017
07:38:28
Руками, это понятно, я к тому если вообще не делать

Это прямой путь к концу БД?

Yura
12.07.2017
07:39:50
Зависит от того, сколько раз в среднем апдейтится каждая строчка. Если в неё только вливают данные, и ни когда не апдейтят, то жить она может бесконечно.

Alexey
12.07.2017
07:41:41
а Wraparound при insert only не грозит?

Yura
12.07.2017
07:47:40
50ГБ - если вырожденный create table (i int primary key), и вставляют всегда по 1 строчке, то ещё 25 ГБ есть. Если вставляют пачкой по 1000, то до лимита размера таблицы быстрее доберутся ? Но в целом, ты прав: я забыл про wraparound ?

Alexey
12.07.2017
07:49:14
поэтому сначала читать https://www.postgresql.org/docs/current/static/routine-vacuuming.html

потом уже уточнять что из написаного не понятно

Artem
12.07.2017
07:49:44
а зачем его вообще выключать?
Мопед не мой, попросили разобраться, почему БД падает два раза в день.

Alexey
12.07.2017
07:50:10
в логах все чисто чтоль?

и в postgresql и в системных?

Fike
12.07.2017
08:00:20
Ребят, кто использует тулы для миграции изменений БД?
можно вбить в поиск и увидеть ответы

Google
Ildar
12.07.2017
08:32:42
Руками, это понятно, я к тому если вообще не делать
если вообще не делать, то после 4ккк транзакций база встанет колом. Учитывая, что селект - это тоже транзакция, то это рано или поздно произойдет

Artem
12.07.2017
09:24:23
Спасибо за ответы, будем подбирать оптимальные параметры autovacuum для небольшой БД

Сергей
12.07.2017
10:07:38
да вы сначала дефолтные просто включите, на мелкой базе вам может и подбирать ничего не придется

Jim
12.07.2017
10:13:48
посоны, а вот такой вопрос - есть большая хранимка которая в одной транзакции выгребает кучу данных и апдейтит записи определённые в таблице. что будет если какую-то из записей в лупе не удастся проапдейтить? ролллбэк всего или запись будет проигнорирована и дальше всё будет фигачаить?

Jim
12.07.2017
10:18:32
а хранимка дефакто как одна транзакция работает?

там просто куча условий и апдейтов по блокам разбито

луп будет как одна транзакция рассматриваться?

Andrey
12.07.2017
10:21:08
Хранимки в постгре всегда одна транзакция.

Functions are atomic in Postgres and automatically run inside their own transaction unless called within an outer transaction. They always run inside a single transaction and succeed or fail completely. Consequently, one cannot begin or commit transactions within the function. 

Nikita
12.07.2017
10:25:54
Всем привет! Написал свой первый экстеншен для постгрес: MonQ - https://github.com/postgrespro/monq . MonQ позволяет совершать запросы к json документам на языке запросов MongoDB. Так как экстеншен разрабатывался в учебных целях, просьба потестить и оценить его. Критика и рекомендации приветствуются)

Mikhail
12.07.2017
10:37:14
Вау

Igor
12.07.2017
10:43:13
Привет! Подскажите, настроил логи postgres на другой диск и сделал ротацию на 1Гб, но файл все равно вырастает больше 1Гб, что забыл в конфиге? log_destination = 'stderr' logging_collector = on log_directory = '/mnt/logs/' log_filename = 'postgresql.log' log_rotation_sizelog_rotation_size = 1GB

Admin
ERROR: S client not available

Andrey
12.07.2017
10:49:50
Базу рестартовали? Есть подозрение, что log_filename ещё неверный.

Попробуйте что-нибудь вроде postgresql-%Y-%m-%d_%H%M%S.log

Maks
12.07.2017
10:50:16
так он и не верный)

Andrey
12.07.2017
10:50:44
А то он не знает, как ему куски называть.

Igor
12.07.2017
10:59:05
Базу рестартовали? Есть подозрение, что log_filename ещё неверный.
рестартовал, начало писаться в другое место, может быть это нужно log_truncate_on_rotation=on?

Google
Igor
12.07.2017
10:59:18
так он и не верный)
а что не так?)

Maks
12.07.2017
10:59:31
Попробуйте что-нибудь вроде postgresql-%Y-%m-%d_%H%M%S.log

Igor
12.07.2017
11:00:33
Попробуйте что-нибудь вроде postgresql-%Y-%m-%d_%H%M%S.log
а log_truncate_on_rotation=on если делать и писать в один файл?

на лету могу изменить параметры, или нужен будет рестарт сервера?

Maks
12.07.2017
11:01:17
pg_ctl reload должен помочь

Igor
12.07.2017
11:02:07
ок, сейчас попробую, а мой вариант не подойдёт если оставить то же имя файла?

Igor
12.07.2017
11:03:18
Ребят, если одно из полей в select у меня json_array_elements(workout_elements.series::json)->>'weight' AS weight```и я хочу посортировать по нему потом, то мне в ORDER BY можно вписать ```ORDER BY weight DESC```или же ```ORDER BY json_array_elements(workout_elements.series::json)->>'weight' DESC? и вообще все в порядке с сортированием по данному полю будет? возвращаемое значение этой функции будет типом SETOF json

Maxim
12.07.2017
12:35:07
коллеги, а как можно посчитать max_locks_per_transaction?

начали сыпаться вот такие сообщения:

PG::OutOfMemory: ERROR: out of shared memory HINT: You might need to increase max_locks_per_transaction. : SELECT "hourly_stats_partitioned_view".* FROM "hourly_stats_partitioned_view" WHERE "hourly_stats_partitioned_view"."resource_type" = 'Social::ExternalPublication' AND "hourly_stats_partitioned_view"."resource_id" = 16803496 AND "hourly_stats_partitioned_view"."kind" = 'link_click' AND (date >= '2017-07-08 17:07:38.000000') ORDER BY "hourly_stats_partitioned_view"."id" DESC LIMIT 1

Dmitry
12.07.2017
12:36:11
ну не факт что max_locks_per_transaction :)

Maxim
12.07.2017
12:36:30
в описании max_locks_per_transaction вижу: > you might need to raise this value if you have queries that touch many different tables in a single transaction, e.g. *query of a parent table with many children*

то есть в принципе-то подходит

там партиционированная таблица, все довольно мерзко

query plan по этому запросу вообще какой-то детский

Dmitry
12.07.2017
12:37:58
git grep 'You might need to increase max_locks_per_transaction' | grep \.c\: src/backend/storage/lmgr/lock.c: errhint("You might need to increase max_locks_per_transaction."))); src/backend/storage/lmgr/lock.c: errhint("You might need to increase max_locks_per_transaction."))); src/backend/storage/lmgr/lock.c: errhint("You might need to increase max_locks_per_transaction."))); src/backend/storage/lmgr/lock.c: errhint("You might need to increase max_locks_per_transaction."))); src/backend/storage/lmgr/lock.c: errhint("You might need to increase max_locks_per_transaction."))); src/backend/storage/lmgr/lock.c: errhint("You might need to increase max_locks_per_transaction.")));

ну в принципе да

Maxim
12.07.2017
12:46:57
http://tatiyants.com/pev/#/plans/plan_1499863450098

вот так выглядит план

что-то я не очень понимаю, на чем оно тут взрывается

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