Я использую SELECT current_query FROM pg_stat_activity;
для просмотра исполняемых запросов, но заметил, что запрос усечен. Есть ли способ обхода пути или любой другой способ увидеть выполняемые в настоящее время запросы?
Запросы в pg_stat_activity усекаются?
Ответ 1
Я не могу найти легкое решение для этого, но этот пост с 2002 года предлагает вам настроить настройку и перекомпилировать: http://osdir.com/ml/db.postgresql.sql/2002-05/msg00088.html
Ответ 2
PostgreSQL 8.4 добавляет параметр "track_activity_query_size
". Значение все равно будет усечено, но вы можете контролировать, на какой длине.
Ответ 3
ALTER SYSTEM SET track_activity_query_size = 16384;
Вам все равно придется перезапустить службу, чтобы она вступила в силу.
Ответ 4
Альтернативой в крайнем случае является использование отладчика gdb для присоединения к процессу и распечатка запроса.
gdb [path_to_postgres] [pid]
printf "%s\n", debug_query_string
Ответ 5
вы можете просто включить ведение журнала операторов в postgresql (log_statement) и проверить журналы.