powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Лог запросов к БД
13 сообщений из 13, страница 1 из 1
Лог запросов к БД
    #38798122
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Подскажите, пожалуйста, как посмотреть текущие запросы к БД?
Использую sql manager lite for PostgreSQL?
Или может, как то еще можно?





---------------------------------
что ты сделал сегодня для завтра?
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38798194
VanillaNInja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а так не подойдет?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT
     s.usename     
     ,s.pid AS process_id
     ,s.waiting
     ,age(now(), s.query_start)
     ,query
     ,s.state
  FROM pg_stat_activity s
 WHERE 1=1
AND s.xact_start IS NOT NULL        
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38798332
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что то не работает...
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38798481
VanillaNInja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не очень информативно. А версия постгреса какая?
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38798525
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОШИБКА: колонка s.pid не существует
LINE 1: SELECT s.usename ,s.pid AS process_id ,s.waiting ,age(now(),...

версия:
PostgreSQL 9.1.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3), 64-bit
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38798651
VanillaNInja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуйте просто так:
Код: plsql
1.
2.
3.
SELECT *
  FROM pg_stat_activity s
where s.xact_start IS NOT NULL 
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801504
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдал 1 запись... информации о текущих запросах идущих к БД там нет...

Может я не правильно описала, что хочу...
У меня есть БД, и приложение, которое с ней работает.
Я хочу выполнить действие в приложении и смотреть, какие таблицы при этом были изменены, какие записи сделаны, какие вообще запросы были.
Возможно?
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801533
/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zvezda_t,

Разумеется.

При этом, как всегда, есть нюансы.

Варианты:

1. Включаете полный лог всего. То есть все действия, происходящие в базе будут отображаться в логе. Там будет все-все-все, что укажете в настройках. RTFM .
Соответственно, потом этот лог нужно разбирать и анализировать.
Это действие есть из коробки.

2. Обратиться к системным отображениям. RTFM . Здесь можно увидеть действия, которые совершались в БД. Но сложно определить их порядок и аргументы запросов. Так же статистика идет нарастающим итогом, поэтому вычислять дельты нужно самостоятльно (например, сбросили всю статистику - посмотрели на действий - почитали статистику). Сюда же относится контриб из стандартной поставки: pg_stat_statements
Отображения могут дать ответ на вопрос типа: сколько раз было чтение-вставка-изменение-удаление на таблицу за период сбора статистики; сплошные/индексные сканирования таблицы, чтение из бувера, с диска; сколько раз вызывалась функция и длительность выполнения;

3. Наделать триггеров на нужные Вам события. Но это долгий ручной путь для сильных духом. Необходимость этих действий нужно тщательно обосновать. В отличие от первых двух пунктов, которые можно достаточно легко включить/выключить.

Ранее Вам советовали обратиться к отображению pg_stat_activity. Оно показывает запросы, которые выполняются на базе здесь и сейчас. Разберитесь с ним повнимательней. Начните с просто
Код: plaintext
SELECT * FROM pg_stat_activity;
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801534
rovan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, возможно.
Вам нужно выставить параметр
Код: plsql
1.
log_statement = 'all'                   # none, ddl, mod, all


и заново подтянуть параметры, после чего можно смотреть лог базы на предмет выполненных запросов. Где именно лежит ваш лог - смотрите по своему конфигу.
За деталями - в документацию .

PS В pg_stat_activity именно информация о текущих запросах, т.е. выполняющихся в данный момент. Если запросы вашего приложения выполняются быстро, вы их там просто не успеете увидеть.

PPS Можно, также, попробовать установить дополнение pg_stat_statements . Вот в нём, уже, содержится статистика по всем исполненным базой запросам, следовательно, там будут и запросы вашего приложения
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801536
rovan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока отвечал - уже всё за меня расписали:)
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801549
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю, за ответы!

rovan, подскажите, пожалуйста, а как установить дополнение pg_stat_statements ?

В конфиге, прописала:
Код: plaintext
1.
2.
3.
4.
5.
# postgresql.conf
shared_preload_libraries = 'pg_stat_statements'

custom_variable_classes = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all

Службу postgresql перезапустила.
Но при попытке выполнить запрос:

Код: sql
1.
2.
3.
SELECT query, calls, total_time, rows, 100.0 * shared_blks_hit /
               nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
          FROM pg_stat_statements ORDER BY total_time DESC LIMIT 5;



Выходит:
ОШИБКА: отношение "pg_stat_statements" не существует

Я что-то не правильно делаю? Как нужно установить дополнение?
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801571
/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zvezda_t,

Код: sql
1.
CREATE EXTENSION pg_stat_statements;



Такую команду выполняли?
...
Рейтинг: 0 / 0
Лог запросов к БД
    #38801593
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/\/\/\/\/\/\, спасибо огромное! Теперь заработало ))))))

Только не пойму, как последние выполненные запросы показать... Или так нельзя отсортировать?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Лог запросов к БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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