
Аггей
09.11.2016
10:28:07

Maxim
09.11.2016
10:32:16
вы можете использовать совместно
В случае если бы у меня был десяток серверов с постгресом, то да mamonsu удобно, накатил его вместо агента. В моем случае postgres используется как БД к zabbix-server и агент установлен по-умолчанию и хотелось бы использовать стандартный агент для коммуникации с сервером. Можно было бы сделать чтобы mamonsu генерил конфиг для агента, в котором запускался бы mamonsu для получения отлеживаемых параметров постгреса. mamonsu просто отдавал параметры постгреса стандартному агенту забикс.

Аггей
09.11.2016
10:35:40
Если у тебя открыт 1 входящий порт на сервер и выключен исходящий трафик - то совместно трудновато.

Dmitry
09.11.2016
10:35:57

Google

Dmitry
09.11.2016
10:36:31
я бы с удовольствием обошелся только zabbix_agent без кучи питонячих прокладок
но реальность такова, что вы будете задрачивать при опросе метрик PostgreSQL при помощи zabbix-agent (сейчас уже под сотню метрик, и в приницпе все важные)
mamonsu же держит пул персист коннекта и не требует прав суперпользователя
> В моем случае postgres используется как БД к zabbix-server
в вашем случае mamonsu - оверинжиниринг

Maxim
09.11.2016
10:47:32

Dmitry
09.11.2016
10:49:48
>mamonsu для получения метрик, а отправлять их стандартным агентом
зачем отправлять агентом если метрики уже и так собрали?
вы же понимаете что нужно будет как-то расказать zabbix_agent как эти метрики забрать с mamonsu
зачем так усложнять, чтобы что?


Maxim
09.11.2016
10:58:06
зачем так усложнять, чтобы что?
Тут нет усложнения это классическое использование системы мониторинга Zabbix. Устанавливается zabbix-agent который собирает и отправляет метрики серверу, так ведь в мануале к забиксу написано.

Dmitry
09.11.2016
10:58:38
можно было пойти по другому пути - создать библиотечку для zabbix_agent
но расширяемость - хромает (прийдеться писать на C, линковаться с libpq и тд и тп)
возможно когда устоканять метрики - можно будет написать и такой вариант, но честно говоря - лень :)
да zabbix не единственная платформа с которой может работать mamonsu

Google

Dmitry
09.11.2016
11:02:35
он еще работает с graphite/opentsdb, может строить графики вообще без zabbix
но чувак портировать под windows наверно это не будет

Maxim
09.11.2016
11:10:26

Dmitry
09.11.2016
11:12:23
Так бы сразу и написали ?
я писал мамонсу и для того чтобы снимать метрики на тестовых площадках, которые изолированны и нет не то что zabbix, пакетов не поставишь чтобы собрать что-то, а python везде стоит :)

Alexey
09.11.2016
11:22:46
Раз уж тут начался разговор за мамонсу
не созрели еще планы по мониторингу несколькоих инстансев/кластеров PostgreSQL на одном сервере (экземпляре OS)?

Dmitry
09.11.2016
11:26:20

blkmrkt
09.11.2016
13:20:33
можно ли в постгресе сделать такой триггер, чтоб при перезаписи жсон документа, делался аудит - в отдельную таблицу чтоб складывались записи вот такого вида:
[{ path: "profile.photo", kind: "E", lhs: "http://example.com/1.jpg", rhs: "http://example.com/none.png" }, { path: "profile.name", kind: "D", lhs: "Ivan"}, { path: "friends", kind: "E", lhs: [1, 2, 3], rhs: [1, 3]}]
Другими словами, можно ли реализовать вот эту либу скриптингом постгреса: https://github.com/flitbit/diff


Andrey
09.11.2016
13:25:16
можно ли в постгресе сделать такой триггер, чтоб при перезаписи жсон документа, делался аудит - в отдельную таблицу чтоб складывались записи вот такого вида:
[{ path: "profile.photo", kind: "E", lhs: "http://example.com/1.jpg", rhs: "http://example.com/none.png" }, { path: "profile.name", kind: "D", lhs: "Ivan"}, { path: "friends", kind: "E", lhs: [1, 2, 3], rhs: [1, 3]}]
Другими словами, можно ли реализовать вот эту либу скриптингом постгреса: https://github.com/flitbit/diff
Я думаю, такое можно на plpython сделать
Наверняка там есть либа для сравнения словарей, можно просто её использовать
https://pypi.python.org/pypi/json-delta/
3 строчки будет триггер )

Alexey
09.11.2016
13:27:22

Vadim
09.11.2016
13:28:08

Славик
09.11.2016
13:29:50
хочу попробовать postgresql, сложно мне будет после mysql?

Andrey
09.11.2016
13:30:10

Славик
09.11.2016
13:30:12
на убунте

Mike Chuguniy
09.11.2016
13:30:15

Google

Славик
09.11.2016
13:30:27
синтаксис отличается?

Andrey
09.11.2016
13:30:34

Andrey
09.11.2016
13:30:38

Славик
09.11.2016
13:30:54
то есть я могу вообще не заморачиваться, что в pg в запросах что-то не так, как в mysql?

Andrey
09.11.2016
13:31:04
не совсем

Vadim
09.11.2016
13:31:05

Andrey
09.11.2016
13:31:19
но в целом - одно и то же

Mike Chuguniy
09.11.2016
13:31:30

Andrey
09.11.2016
13:31:35
главное - научиться забывать ограничения мускула
например субселект в IN() не обязательно должен быть без LIMIT ( в мускуле нельзя)

Vadim
09.11.2016
13:32:07
банальный пример с лимитом и оффсетом. В постгрес он пишется именно так - limit 10 offset 0

Славик
09.11.2016
13:32:43
это, пожалуй, удобно

Славик
09.11.2016
13:33:01
а что по поводу админки, аналог phpmyadmin именно для веба есть?
pgAdmin мне понравился

Alexey
09.11.2016
13:33:11
phppgadmin же есть.

Evgeniy
09.11.2016
13:33:38
я думаю не стоит забывать что в иннодб другое устройство индексов и запросы вида
select * from table where a = x order by id limit 10
будут работать не так как в мускуле и потребуют индекс не по (a), а по (a, id)

Andrey
09.11.2016
13:34:06
1) регистрозависимость 2) набор функций для работы с датой и временем 3) В MySQL комменты с # допустимы, в postgres нет, ну и всякие мелочи

Evgeniy
09.11.2016
13:34:10
запросы с лайками тоже будут по-другому

Славик
09.11.2016
13:34:21
регистрозависимость?
но не в ключевых же словах select, insert ...?

Google

Andrey
09.11.2016
13:34:53
Нет.
Database, table, field and columns names in PostgreSQL are case-independent, unless you created them with double-quotes around their name, in which case they are case-sensitive. In MySQL, table names can be case-sensitive or not, depending on which operating system you are using.

Славик
09.11.2016
13:35:04
в названиях колонок?
ладно, спасибо
i'll be back =)

Павел П.
09.11.2016
13:38:28
А еще можно эмоджами называть таблицы-колонки

Славик
09.11.2016
13:40:04
это развлечение пускай останется школьникам

Admin
ERROR: S client not available

Славик
09.11.2016
13:40:25
я не совсем еще понимаю, как устроены триггеры на разных языках
ставится либа для конкретного языка, например, для java и она играет роль прослойки? то есть движок (pgsql) при срабатывании триггера шлет данные в модуль, написанный на джаве?

Michael
09.11.2016
15:30:48
Господа, а работл ли кто-нибудь с http://www.enterprisedb.com/edb-ark

Fike
09.11.2016
16:00:24
Нубский вопрос. Я правильно понял что в контексте пг cluster - это физическое перераспределение данных согласно индексу для оптимизации выборок, а на порядок дальнейших записей это никак не повлияет?

Evgeniy
09.11.2016
16:00:54
да

Fike
09.11.2016
16:02:10
спасибо

Dmitry
09.11.2016
16:07:53
https://gist.github.com/vadv/0e3d131a1a8da02dc93cbc24916373e4 сегодня for fun гоняли на разных файловых системах pg_test_fsync,
разница ... нет разницы :)
xfs
fdatasync 88.591 ops/sec 11288 usecs/op
write, fsync, close 32.195 ops/sec 31061 usecs/op
write, close, fsync 35.171 ops/sec 28432 usecs/op
ext4
fdatasync 88.583 ops/sec 11289 usecs/op
write, fsync, close 24.169 ops/sec 41376 usecs/op
write, close, fsync 26.969 ops/sec 37079 usecs/op

Evgeniy
09.11.2016
16:09:55
ну ты бы хоть батарейку поставил
кому эти 24 фсинка нужны

Dmitry
09.11.2016
16:10:06
:)
на baum проверим

Google

Марк ☢
09.11.2016
16:10:32
Btrfs забенчи

Dmitry
09.11.2016
16:10:49
btrfs - хотел сказать носпейсфс?

Марк ☢
09.11.2016
16:10:55
Да

Айтуар
09.11.2016
16:10:58
zfs

Evgeniy
09.11.2016
16:11:17
не, ну это серьезно бред без батарейки тестить. для кого эти тесты

Марк ☢
09.11.2016
16:11:22

Evgeniy
09.11.2016
16:11:47
а с батарейкой получите ~15к фсинков и тоже не так важно какая фс

Dmitry
09.11.2016
16:11:47
ну интересно же когда в кэш не влазит

Evgeniy
09.11.2016
16:13:06
тогда не тести этой утилиткой

Dmitry
09.11.2016
16:13:19
а чем тестить :)
я считаю что раньше ты упрешься в проблемы приложухи
чем в файловую систему

Evgeniy
09.11.2016
16:14:05
ну если собрался тестить, то fio
ты сможешь сделать более менее любой конфиг если захочешь
то есть и запись в датафайлы эмулировать, и параллельно словно вал пишешь рядом
чтобы дать кешу просраться

Dmitry
09.11.2016
16:15:59
да на самом деле можно и с помошью pgbench положить с кастомными скриптами - seq scan + update + small shared buf

Evgeniy
09.11.2016
16:16:08
одной джобе то есть сказать randrw буфферед. второй просто write последовательный с fsync каждые N блоков