Я должен видеть запросы, отправленные серверу PostgreSQL. Обычно я использовал бы профилировщика SQL Server для выполнения этого действия на земле SQL Server, но я должен все же найти, как сделать это в PostgreSQL. Кажется, существует, довольно многие платят - за инструменты, я надеюсь, что существует вариант с открытым исходным кодом.
Вы можете использовать настройку конфигурации log_statement, чтобы получить список всех запросов на сервер
https://www.postgresql.org/docs /current/static/runtime-config-logging.html#guc-log-statement
Просто установите это и путь к файлу журнала, и у вас будет список. Вы также можете настроить его так, чтобы он регистрировал только длительные запросы.
Затем вы можете взять эти запросы и запустить на них EXPLAIN, чтобы узнать, что с ними происходит.
https://www.postgresql.org/docs/9.2/static/using-explain.html
Добавив к ответу Джошуа, чтобы увидеть , какие запросы в настоящее время выполняются , просто введите следующий оператор в любое время (например, в окне запроса PGAdminIII):
SELECT datname,procpid,current_query FROM pg_stat_activity;
Пример вывода:
datname | procpid | current_query
---------------+---------+---------------
mydatabaseabc | 2587 | <IDLE>
anotherdb | 15726 | SELECT * FROM users WHERE id=123 ;
mydatabaseabc | 15851 | <IDLE>
(3 rows)