Я нахожусь в процессе рассмотрения каждого оператора SQL, который приложение делает с базой данных, из соображений производительности. Есть ли простой способ регистрировать все операторы, выполняемые сервером базы данных PostgreSQL? Спасибо.
Опция конфигурации, которую вы ищете: log_statement = "all"
(если вы просто хотите утверждения) или log_min_statement_duration = <some number>
если вы просто после "медленных" запросов (для некоторого значения "медленный"). Смотрите http://www.postgresql.org/docs/current/static/runtime-config-logging.html для получения более подробной информации о конфигурации регистрации.
auto_explain
модуль очень полезен для этого. Он будет не только регистрировать операторы, он будет регистрировать их планы выполнения и даже может регистрировать операторы, выполняемые в функциях PL/PgSQL. Падение производительности довольно низкое, если вы не включите анализ, и в этом случае у вас будет довольно много временных затрат для всех запросов.
Видеть auto_explain
в документации.