@pgsql

Страница 679 из 1062
Аггей
14.02.2018
19:12:21
Кусок из инструкции по ГОСТ. Я его выше скидывал как-то

Paul
14.02.2018
19:13:14
Я предупреждал, что не панацея. Могу дать выдержку из инструкции, как все-таки его завести. Но не уверен, что вас все устроит
присылайте ссылку, посмотрю - может я пропустил чего. Основные проблемы, которые я поимел: - нет фенсинга. Если мастер вернулся после промотирования - будет два мастера. Один будет деградированным. - repmgrd становится единой точкой отказа. Гибель мастера, к котором подключен repmgrd - делает repmgrd бесполезным, так как про слейв он не знает и промотировать не может. - возврат мастера с которым работает repmgrd (после промотирования slave) - создает два равноценных master-а.

это не то, что "не панацея". Это другим словом называется

Аггей
14.02.2018
19:15:08
Первую проблему я решал - вешав скрипт гашения старого мастера по ssh на событие переключения - костыль, но работает. Про вероятный splitbrain я писал

Google
Аггей
14.02.2018
19:16:15
Со вторым согласен. Но вероятность одновременного падения бд witness и мастера сильно ниже, чем просто мастера

Paul
14.02.2018
19:16:59
если есть witness - repmgr сможет промотировать slave даже при неработающем мастере? У меня нет witness, я не успел сделать

Аггей
14.02.2018
19:18:02
Третье - это следствие первого. Опять же костыль помогает, кроме экзотических случаев изоляции мастера и слэйва между собой и не изоляции от приложения.

Но я ещё раз повторю - я не советую делать автофайловер. Лучше хорошая дежурная смена и switchover

Аггей
14.02.2018
19:22:49
Ну все зависит от штрафов за несоблюдение sla )

Paul
14.02.2018
19:23:31
Бизнес-решения принимаю не я. Я работаю с тем, что есть.

Anton [Mgn, az09@osm]
14.02.2018
20:35:08
Yaroslav
14.02.2018
20:35:59
кажется не помогло
Во-первых, это действует только на новые login-ы. Во-вторых, что именно Вы пробовали?

Google
Anton [Mgn, az09@osm]
14.02.2018
20:39:37
в конфиге выставил log_min_duration_statement = 1000 однако вижу в логих гигабайты следов от работы pg_top очевидно

2018-02-14 20:39:50.529 UTC,"postgres","postgres",32039,"[local]",5a849e96.7d27,1,"SHOW",2018-02-14 20:39:50 UTC,2/0,0,LOG,00000,"duration: 0.418 ms",,,,,,,,,"" 2018-02-14 20:39:50.533 UTC,"postgres","postgres",32039,"[local]",5a849e96.7d27,2,"SELECT",2018-02-14 20:39:50 UTC,2/0,0,LOG,00000,"duration: 4.053 ms",,,,,,,,,"" 2018-02-14 20:39:50.569 UTC,"postgres","postgres",32040,"[local]",5a849e96.7d28,1,"SELECT",2018-02-14 20:39:50 UTC,2/0,0,LOG,00000,"duration: 14.022 ms",,,,,,,,,"" 2018-02-14 20:39:55.578 UTC,"postgres","postgres",32043,"[local]",5a849e9b.7d2b,1,"SHOW",2018-02-14 20:39:55 UTC,2/0,0,LOG,00000,"duration: 0.392 ms",,,,,,,,,"" 2018-02-14 20:39:55.582 UTC,"postgres","postgres",32043,"[local]",5a849e9b.7d2b,2,"SELECT",2018-02-14 20:39:55 UTC,2/0,0,LOG,00000,"duration: 3.790 ms",,,,,,,,,"" 2018-02-14 20:39:55.604 UTC,"postgres","postgres",32044,"[local]",5a849e9b.7d2c,1,"SELECT",2018-02-14 20:39:55 UTC,2/0,0,LOG,00000,"duration: 13.714 ms",,,,,,,,,"" типа такого (сорри за портянку)

сейчас вырубил пг_топ и эти записи прекратили появляться

Аггей
14.02.2018
20:43:40
У него свой логгинг?

Anton [Mgn, az09@osm]
14.02.2018
20:44:15
У него свой логгинг?
всё в тот же /var/lib/pgsql/9.6/data/pg_log/postgresql-Wed.csv валится

а, т.е. он возможно прочитал конфиг и в нужном формате САМ пишет в нужный файл?.. чот врядли

Yaroslav
14.02.2018
20:45:22
в конфиге выставил log_min_duration_statement = 1000 однако вижу в логих гигабайты следов от работы pg_top очевидно
А подробнее? Reload сделали? pg_top работает под пользователем postgres, верно? Что именно в конфиге выставили? Где ALTER ROLE?

Anton [Mgn, az09@osm]
14.02.2018
20:47:39
да, пг_топ запушен из под юзера постгрес -bash-4.2$ psql -d japan -c 'ALTER ROLE postgres SET log_statement = ddl;' сделал (а в той ли бд?) # systemctl restart postgresql-9.6.service сделал

что еще в конфиге выставлял наверно лучше показать его весь ) никакого криминала правда не вижу

Yaroslav
14.02.2018
20:51:12
в конфиге выставил log_min_duration_statement = 1000 однако вижу в логих гигабайты следов от работы pg_top очевидно
А это откуда? Из config? Тем не менее, log_statement и log_min_duration_statement не одно и то же.

Anton [Mgn, az09@osm]
14.02.2018
20:53:55
вроде мне это из https://postgrespro.ru/docs/postgrespro/9.6/runtime-config-logging.html#guc-log-statement понятно ) сейчас конфиг расшарю, сек. и да log_min_duration_statement = 1000 в нем выставлен

Аггей
14.02.2018
20:56:57
Ну я кода pg в глаза не видел, но предполагаю, что pg_top пишет события в общий поток, а так как pg не может их классифицировать all, mod, ddl (подозреваю, что это даже не statement лог, а сообщения вроде "система запускается" - служебные сообщения) -то выводит в файл.

Anton [Mgn, az09@osm]
14.02.2018
20:58:15
хотя активности там от юзера постргес никакой кроме того что я сам в консоли напишу

Yaroslav
14.02.2018
21:05:30
хотя активности там от юзера постргес никакой кроме того что я сам в консоли напишу
Подождите, разве pg_top не (более или менее) обычное клиентское приложение? А про config и ALTER ROLE —- только одинаковые параметры (или взаимозависимые) есть смысл перекрывать, нет?

Yaroslav
14.02.2018
21:07:22
Anton [Mgn, az09@osm]
14.02.2018
21:07:55
Потому что Вы что-то не так делаете, 99%. ;)
например вовремя спать не ложусь. 2 ночи уже ))

Yaroslav
14.02.2018
21:08:51
Итак, ещё раз, что у Вас сейчас есть: . log_min_duration_statement = 1000 в config-е. . ALTER ROLE postgres SET log_statement = 'ddl'; . pg_top работает под postgres. Верно?

Google
Anton [Mgn, az09@osm]
14.02.2018
21:09:14
6 гигов лога за среду уж не стану показывать... поверьте там именно от постгрес большинство следов

Yaroslav
14.02.2018
21:10:26
именно так
А хотите Вы чего? Чтобы запросы пользователя postgres не логировались? Тогда нужно было: ALTER ROLE postgres SET log_min_duration_statement = -1;

А своим ALTER вы только добавили логов. ;)

Yaroslav
14.02.2018
21:12:26
А это точно statement?
Кстати да, не точно... например, откуда бы вот это: "duration: 0.392 ms"

Аггей
14.02.2018
21:13:21
ALTER ROLE postgres SET log_statement = 'ddl'; Вот этого pg_top наверняка не делает

Не выполняет ddl

Anton [Mgn, az09@osm]
14.02.2018
21:13:48
А хотите Вы чего? Чтобы запросы пользователя postgres не логировались? Тогда нужно было: ALTER ROLE postgres SET log_min_duration_statement = -1;
не-а, не помогло. запустил пг_топ и сразу в лог сыпаться начало. после альтер надо было рестарт?

каждые 5 секунд 2018-02-14 21:14:39.028 UTC,"postgres","postgres",365,"[local]",5a84a6bf.16d,1,"SHOW",2018-02-14 21:14:39 UTC,3/0,0,LOG,00000,"duration: 0.459 ms",,,,,,,,,"" 2018-02-14 21:14:39.032 UTC,"postgres","postgres",365,"[local]",5a84a6bf.16d,2,"SELECT",2018-02-14 21:14:39 UTC,3/0,0,LOG,00000,"duration: 3.636 ms",,,,,,,,,"" 2018-02-14 21:14:39.055 UTC,"postgres","postgres",366,"[local]",5a84a6bf.16e,1,"SELECT",2018-02-14 21:14:39 UTC,3/0,0,LOG,00000,"duration: 14.525 ms",,,,,,,,,""

Alex
14.02.2018
21:21:39
Как бы да

Его надоб в off иначе он логгирует длительность всех стейтментов

Anton [Mgn, az09@osm]
14.02.2018
21:22:23
охщи~

сейчас попробую

Alex
14.02.2018
21:23:16
Как бы вот из доки

Google
Alex
14.02.2018
21:23:18
Note: The difference between setting this option and setting log_min_duration_statement to zero is that exceeding log_min_duration_statement forces the text of the query to be logged, but this option doesn't. Thus, if log_duration is on and log_min_duration_statement has a positive value, all durations are logged but the query text is included only for statements exceeding the threshold. This behavior can be useful for gathering statistics in high-load installations.

Anton [Mgn, az09@osm]
14.02.2018
21:24:49
отоночо. ща прям весь этот текст в конфиг накомментарю )

Alex
14.02.2018
21:27:16
Главное в off его не забыть поставить %)

Anton [Mgn, az09@osm]
14.02.2018
21:27:37
а дефолт у него разве не офф?

Yaroslav
14.02.2018
21:29:45
а дефолт у него разве не офф?
А в том confige, на который Вы давали ссылку, log_duration = on присутствует. ;)

Anton [Mgn, az09@osm]
14.02.2018
21:30:14
йес! Yaroslav @slysha вы мои герои ))

спасибо

теперь можно и баиньки

Alex
14.02.2018
21:34:45
Гуд

Anton [Mgn, az09@osm]
15.02.2018
04:32:46
доброго утра) это всего-лишь опять я подскажите полезный питоноскрипт который бы сгенерил отчет о таблицах прямо на серваке. в виде html например

ну или psql в формате csv хотя бы

мне бы хватило даже названия и тип полей для начала

Согласитесь не дело)



Anton [Mgn, az09@osm]
15.02.2018
05:03:25
pg_dump -s?
а потом в какой-нибудь визуальный редактор ddl? сложна

Andrey
15.02.2018
05:04:42
PowerDesigner вроде может даже из дампа читать.

Mike Chuguniy
15.02.2018
06:06:22
доброго утра) это всего-лишь опять я подскажите полезный питоноскрипт который бы сгенерил отчет о таблицах прямо на серваке. в виде html например
psql —help почитать не судьба? user@host ~ $ psql -p 5434 -U postgres -l -H <table border="1"> <caption>Список баз данных</caption> <tr> <th align="center">Имя</th> <th align="center">Владелец</th> <th align="center">Кодировка</th> <th align="center">LC_COLLATE</th> <th align="center">LC_CTYPE</th> <th align="center">Права доступа</th> </tr> <tr valign="top"> <td align="left">postgres</td> <td align="left">postgres</td> <td align="left">UTF8</td> <td align="left">ru_RU.UTF-8</td> <td align="left">ru_RU.UTF-8</td> <td align="left">&nbsp; </td> </tr> <tr valign="top"> <td align="left">template0</td> <td align="left">postgres</td> <td align="left">UTF8</td> <td align="left">ru_RU.UTF-8</td> <td align="left">ru_RU.UTF-8</td> <td align="left">=c/postgres<br /> postgres=CTc/postgres</td> </tr> <tr valign="top"> <td align="left">template1</td> <td align="left">postgres</td> <td align="left">UTF8</td> <td align="left">ru_RU.UTF-8</td> <td align="left">ru_RU.UTF-8</td> <td align="left">=c/postgres<br /> postgres=CTc/postgres</td> </tr> </table> <p>(3 строки)<br /> </p>

Mike Chuguniy
15.02.2018
06:14:06
там же читать-не перечитать ) спасибо за подсказку. это немного не юникс-вей поэтому даже неожиданно
Щито?! —help в экран влазит! Читать, не перечитать. Я ж не в man psql послал...

Google
Anton [Mgn, az09@osm]
15.02.2018
06:14:07
хех, полчил 74 поля в csv-формате, а какое-то из них - зарезервированное слово )

наверно взять все подряд в кавычки и не париться

Щито?! —help в экран влазит! Читать, не перечитать. Я ж не в man psql послал...
в мой не влезет точно ? вон там выше скрин совсем чуток кропнут

поэтому https://www.postgresql.org/docs/9.6/static/app-psql.html наше всё

Mike Chuguniy
15.02.2018
06:22:47
поэтому https://www.postgresql.org/docs/9.6/static/app-psql.html наше всё
Причем тебе вполне се6е хватит внимательно посмотреть опции.

Anton [Mgn, az09@osm]
15.02.2018
06:24:01
так то согласен. но обычно меня интересовали те что внутри используются а не снаружи

Alex
15.02.2018
06:28:17
Мне это напомнило sql.ru

Artem
15.02.2018
07:01:32
доброе, кто сталкивался с Tibero

Аггей
15.02.2018
07:08:24
В чате оракла были люди. Туда иди

Mike Chuguniy
15.02.2018
08:39:56
Судя по простыне выше экран у тебя большой ;)
22". И xterm+tmux умеет в прокрутку с выделением.

Anton [Mgn, az09@osm]
15.02.2018
08:46:59
чота тмукс у меня тут умеет тут не умеет а там вообще не тмукс а mc вроде скролит. но это оффтоп, простите)

Антошин
15.02.2018
08:48:51
Ребят, вопрос не по postgresql, как в corosync задать фиксированные порты? основной 5405 и 5404, но 2 порта открываются рандомно "пример 43253 22135)

Dmitriy
15.02.2018
09:26:22
Коллеги, приветствую. Кто-нибудь разбирался с лицензированием продуктов postgrespro?

standart ветку можно использовать в компании? Как в проектах, так и в качестве СУБД для zabbix

Sergey
15.02.2018
09:30:19
Попробуйте спросить @the_flute

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