Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Игнорируется настройка log_min_duration_statement / 23 сообщений из 23, страница 1 из 1
05.09.2018, 13:33
    #39698446
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Добрый день. Есть мастер и два hot standby. log_min_duration_statement в конфиге = 1000. Захожу на мастер и делаю:

Код: sql
1.
alter user <user> set log_min_duration_statement=0;



Это сработало. В логи пишутся все запросы. После этого делаю:

Код: sql
1.
alter user <user> set log_min_duration_statement=1000;



В логи продолжают писаться все запросы. Делал также:

Код: sql
1.
2.
3.
alter user <user> reset log_min_duration_statement;
alter user <user> set log_min_duration_statement to default;
select pg_reload_conf();



Ничего не помогает. Запросы продолжают писаться на мастер и на реплики. Версия 9.5.13. Как быть?
...
Рейтинг: 0 / 0
05.09.2018, 13:35
    #39698450
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755aДобрый день. Есть мастер и два hot standby. log_min_duration_statement в конфиге = 1000. Захожу на мастер и делаю:

Код: sql
1.
alter user <user> set log_min_duration_statement=0;



Это сработало. В логи пишутся все запросы. После этого делаю:

Код: sql
1.
alter user <user> set log_min_duration_statement=1000;



В логи продолжают писаться все запросы. Делал также:

Код: sql
1.
2.
3.
alter user <user> reset log_min_duration_statement;
alter user <user> set log_min_duration_statement to default;
select pg_reload_conf();



Ничего не помогает. Запросы продолжают писаться на мастер и на реплики. Версия 9.5.13. Как быть?

Сбросьте старые коннекты от user к базам и будет все ок скорее всего (на уже установленные коннекты alter user не влияет).

PS: может у вас где то log_statement=all включен (как вторая версия).
...
Рейтинг: 0 / 0
05.09.2018, 13:48
    #39698466
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Maxim BogukСбросьте старые коннекты от user к базам и будет все ок скорее всего (на уже установленные коннекты alter user не влияет).
Тогда почему первая команда сработала? Коннекты не терялись, пользователи подключаются через pgpool.
Maxim BogukPS: может у вас где то log_statement=all включен (как вторая версия).
Это я проверял. К сожалению, нет, не включен.
...
Рейтинг: 0 / 0
05.09.2018, 13:53
    #39698474
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755aMaxim BogukСбросьте старые коннекты от user к базам и будет все ок скорее всего (на уже установленные коннекты alter user не влияет).
Тогда почему первая команда сработала? Коннекты не терялись, пользователи подключаются через pgpool.
Maxim BogukPS: может у вас где то log_statement=all включен (как вторая версия).
Это я проверял. К сожалению, нет, не включен.

>>Тогда почему первая команда сработала? Коннекты не терялись, пользователи подключаются через pgpool.

Сработала на новые коннекты а не на все.
На новых коннектах у вас и alter сработал (руками через psql соединитесь от нужного пользователя и проверьте если не верите).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
05.09.2018, 14:02
    #39698482
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Maxim BogukСработала на новые коннекты а не на все.
На новых коннектах у вас и alter сработал (руками через psql соединитесь от нужного пользователя и проверьте если не верите).
Конечно, верю. Я просто полагаю, что pgpool резервирует определённое количество подключений и не увеличивает их количество больше заданного в настройках. А можно как-то заставить pgpool переподключиться gracefully? Дело происходит на проде, не хотелось бы, чтобы это кого-то аффектило.

За ваши ответы спасибо!
...
Рейтинг: 0 / 0
05.09.2018, 14:04
    #39698485
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755aДобрый день. Есть мастер и два hot standby. log_min_duration_statement в конфиге = 1000. Захожу на мастер и делаю:

Код: sql
1.
alter user <user> set log_min_duration_statement=0;



Это сработало. В логи пишутся все запросы. После этого делаю:

Код: sql
1.
alter user <user> set log_min_duration_statement=1000;



В логи продолжают писаться все запросы. Делал также:

Код: sql
1.
2.
3.
alter user <user> reset log_min_duration_statement;
alter user <user> set log_min_duration_statement to default;
select pg_reload_conf();



Ничего не помогает. Запросы продолжают писаться на мастер и на реплики. Версия 9.5.13. Как быть?


А короче 1 сек запросы случайно не пишутся?
...
Рейтинг: 0 / 0
05.09.2018, 14:12
    #39698492
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Синий СлонА короче 1 сек запросы случайно не пишутся?

Конечно, пишутся. В этом и проблема, что пишутся все запросы.
...
Рейтинг: 0 / 0
05.09.2018, 14:18
    #39698499
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755a,

Если все сеансы pgpool работают из под одного пользователя, то вместо alter user ... set можно сделать alter system set
Тогда select pg_reload_conf() поможет перечитать файлы конфигурации.
...
Рейтинг: 0 / 0
05.09.2018, 14:24
    #39698502
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Павел ЛузановЕсли все сеансы pgpool работают из под одного пользователя, то вместо alter user ... set можно сделать alter system set
Тогда select pg_reload_conf() поможет перечитать файлы конфигурации.

ALTER SYSTEM я тоже пробовал. Забыл написать об этом в первом сообщении.
...
Рейтинг: 0 / 0
05.09.2018, 14:27
    #39698504
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755a ALTER SYSTEM я тоже пробовал. Забыл написать об этом в первом сообщении.
Перепроверьте, это точно работает.
...
Рейтинг: 0 / 0
05.09.2018, 14:30
    #39698508
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Павел ЛузановПерепроверьте, это точно работает.
Перепроверил. Не сработало.
...
Рейтинг: 0 / 0
05.09.2018, 14:37
    #39698517
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755a,

Можете показать полный вывод команды в той сессии где не сработало:
select * from pg_settings where name = 'log_min_duration_statement';

Особенно интересует столбец source.
...
Рейтинг: 0 / 0
05.09.2018, 14:40
    #39698525
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Павел Лузанов, для новых сессий всё, конечно, работает. Я хочу понять, что делать с текущими подключениями.
...
Рейтинг: 0 / 0
05.09.2018, 14:42
    #39698528
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755a,

Заодно покажите:
- что в psql выдает \drds
- select * from pg_file_settings where name like 'log%';
...
Рейтинг: 0 / 0
05.09.2018, 14:43
    #39698532
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755aПавел Лузанов, для новых сессий всё, конечно, работает. Я хочу понять, что делать с текущими подключениями.
В том то и дело, что alter system работает и для текущих подключений. У вас что-то не так, пытаюсь понять что.
...
Рейтинг: 0 / 0
05.09.2018, 15:21
    #39698567
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Павел Лузановbff7755aПавел Лузанов, для новых сессий всё, конечно, работает. Я хочу понять, что делать с текущими подключениями.
В том то и дело, что alter system работает и для текущих подключений. У вас что-то не так, пытаюсь понять что.

alter system имеет меньший приоритет чем alter user
поэтому в УЖЕ УСТАНОВЛЕННЫХ соединениях будет использован ранее установленный ALTER USER а не значение из alter system.

Вопросы про pgpool не ко мне, был бы pgbouncer я бы просто отстрелил руками на базе все старые коннекты и успокоился бы.
А вот с pgpool - читайте документацию.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
05.09.2018, 15:38
    #39698580
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Maxim Bogukalter system имеет меньший приоритет чем alter user
поэтому в УЖЕ УСТАНОВЛЕННЫХ соединениях будет использован ранее установленный ALTER USER а не значение из alter system.

Это понятно, поэтому и прошу показать вывод \drds
Хотя возможно что уже после запуска сеансов командами alter user|database изменили что там было.
Но хоть какая-то информация.
...
Рейтинг: 0 / 0
06.09.2018, 06:38
    #39698808
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Павел ЛузановЭто понятно, поэтому и прошу показать вывод \drds
Хотя возможно что уже после запуска сеансов командами alter user|database изменили что там было.
Но хоть какая-то информация.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
postgres=# select * from pg_file_settings where name like 'log%'; 
                  sourcefile                   | sourceline | seqno |            name            |          setting          | applied | error 
-----------------------------------------------+------------+-------+----------------------------+---------------------------+---------+-------
 /var/lib/postgresql/data/postgresql.conf      |        448 |     8 | log_timezone               | UTC                       | t       | 
 /var/lib/postgresql/data/postgresql.conf      |       1031 |    16 | log_line_prefix            | %r %t [%p] user=%u db=%d  | t       | 
 /var/lib/postgresql/data/postgresql.conf      |       1032 |    17 | log_min_duration_statement | 1000                      | f       | 
 /var/lib/postgresql/data/postgresql.auto.conf |          3 |    26 | log_min_duration_statement | 1000                      | t       | 
 /var/lib/postgresql/data/postgresql.auto.conf |          4 |    27 | log_statement              | none                      | t       | 
(5 rows)



Код: plsql
1.
2.
postgres=# \drds
No settings found.
...
Рейтинг: 0 / 0
06.09.2018, 08:28
    #39698827
big-trot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755a,

pgpool кэширует соединения, надо перезапустить pgpool
...
Рейтинг: 0 / 0
06.09.2018, 08:30
    #39698829
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
big-trotbff7755a,

pgpool кэширует соединения, надо перезапустить pgpool

Так именно этого и не хотят делать. И спрашивают как graceful сбросить старые соединения не затрагивая приложение.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
06.09.2018, 10:20
    #39698872
bff7755a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
В общем, нашёл такое решение. Заскейлить в Kubernetes pgpool * 2 и убить лишние ноды.
...
Рейтинг: 0 / 0
06.09.2018, 10:52
    #39698881
big-trot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
Maxim Boguk,

У pgpool такая особенность, что убить корректно соединение, например командой pg_terminate_backend нельзя, если это делать на конкретном бэкэнде, то этот бэкэкд будет исключен из пула. Какого-то решения без перезапуска pgpool я не нашёл.
...
Рейтинг: 0 / 0
06.09.2018, 11:50
    #39698914
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорируется настройка log_min_duration_statement
bff7755a
Код: plsql
1.
2.
postgres=# \drds
No settings found.


В общем, как уже и обсуждали выше - поможет только перезапуск процессов.
Но после перезапуска, если не делать ALTER USER|DATABASE, то можно менять значения параметров командой ALTER SYSTEM.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Игнорируется настройка log_min_duration_statement / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]