powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите как запрос поймать?
20 сообщений из 20, страница 1 из 1
Подскажите как запрос поймать?
    #39440302
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, в общем есть приложение, у него есть кнопка.


Я хочу отловить запрос, который идет к БД во время нажатия кнопки.




Скажите, как это можно сделать в пострес?
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440317
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pg_trace есть какой-то, но в каталоге bin его не нашел.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440330
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
logging_collector () - вроде ошибки только собирает.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440356
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хелп!
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440362
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2хелп!

включаете лог всех запросов в базе
и потом ищете в нем то что вам надо.

--
Maxim Boguk
dataegret.ru
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440363
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2хелп!

включаете лог всех запросов в базе
и потом ищете в нем то что вам надо.

--
Maxim Boguk
dataegret.ru

а как его включить-то?
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440364
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Maxim Bogukпропущено...


включаете лог всех запросов в базе
и потом ищете в нем то что вам надо.

--
Maxim Boguk
dataegret.ru

а как его включить-то?

log_min_duration_statement = 0
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440370
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2пропущено...


а как его включить-то?

log_min_duration_statement = 0

Спасибо.

Ищу как его менять.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440372
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Maxim Bogukпропущено...


log_min_duration_statement = 0

Спасибо.

Ищу как его менять.

он есть в конфиге, вроде не написано что перезапуск требуется.

значит как-то скриптом можно.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440376
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или нужен перезапуск?

уже вторая статья на эту тему и

Чтобы новая настройка вступила в силу нужно перезапустить Postgres.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440384
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Или нужен перезапуск?

уже вторая статья на эту тему и

Чтобы новая настройка вступила в силу нужно перезапустить Postgres.

не читайте дурные статьи перед завтраком а читайте документацию блин
https://www.postgresql.org/docs/9.6/static/config-setting.html

--
Maxim Boguk
dataegret.ru
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440389
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sql_user2,

После изменения конфига нужно перечитать параметры. (Для Вашего случая log_min_duration_statement это достаточно).

Можно выполнить из-под суперпользователя

SELECT pg_reload_conf();

(Или любым другим способом - service postgresql reload; pg_ctlcluster reload -- множество их).
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440390
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2Или нужен перезапуск?

уже вторая статья на эту тему и

Чтобы новая настройка вступила в силу нужно перезапустить Postgres.

не читайте дурные статьи перед завтраком а читайте документацию блин
https://www.postgresql.org/docs/9.6/static/config-setting.html

--
Maxim Boguk
dataegret.ru


вот так применился

SET log_min_duration_statement=0
SET log_min_duration_statement=-1



А изменение в конфиге, с последующем pg_ctl reload - результата не дало.



Спасибо!
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440407
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sql_user2...
А изменение в конфиге, с последующем pg_ctl reload - результата не дало.
...


Вы делаете что-то не то:
автор2017-04-18 17:40:22.649 MSK,,,830,,58ecdf67.33e,3,,2017-04-11 16:51:35 MSK,,0,LOG,00000,"received SIGHUP, reloading configuration files",,,,,,,,,""
2017-04-18 17:40:22.707 MSK,,,830,,58ecdf67.33e,4,,2017-04-11 16:51:35 MSK,,0,LOG,00000,"parameter ""log_min_duration_statement"" changed to ""10""",,,,,,,,,""
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440464
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2,

1. ALTER SYSTEM SET log_min_duration_statement=0;
2. SELECT pg_reload_conf();
3. -- жмём кнопку, ждём чутка
4. ALTER SYSTEM RESET log_min_duration_statement;
5. SELECT pg_reload_conf();
6. идём в лог и ищем во всём потоке запросов то, что нужно
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440481
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,

а если его прилада держит соединение стартовавшее до ваших манипуляций ?

обычно от дба этот момент ускользает
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440489
kira ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а не проще ли прописать в логе
Код: sql
1.
log_statement = 'all'


и
Код: sql
1.
pg_ctl reload


сказать, шансов допустить ошибку намного меньше
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440505
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqа если его прилада держит соединение стартовавшее до ваших манипуляций ?
Утилита посылает SIGINT головному процессу, он рассылает его всем остальным.
В коде есть специальные блоки `CHECK_FOR_INTERRUPTS` (это сишный #define-блок), которые "делят" длинные внутренние вызовы на части и позволяют "взимодействовать" с серверной частью — они, собственно, обрабатывают сигналы.

Всё, что потенциально "долго" (Hash, сортировки, Scan'ы, вакуумы, IO, прочая) делится таким образом (исключая критические части, которые должны быть атомарны). Именно так можно нажав Ctrl-C оборвать запрос. Или поменять `autovacuum_vacuum_cost_delay` и сделать фоновый вакуум по большой таблице менее или более агрессивным в процессе самого вакуума.

Должно работать, однако.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440540
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,

вы правы. после pg_reload_conf() всё работает.
...
Рейтинг: 0 / 0
Подскажите как запрос поймать?
    #39440542
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,

ps старая привычка вместо alter system (которого не было) делать alter database и переприсоединяться
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите как запрос поймать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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