Я новичок в Postgres и работаю с выпуском 9.6.8 на Unix-машине с большим количеством исполняемых файлов c ++, подключенных к базе данных через odbc от localhost.
Чтобы отследить проблему с запросом,Я попытался выяснить, из каких исполняемых файлов поступил запрос.
К сожалению, библиотека, которая используется для подключения к Postgres, не заполняет имя приложения в pg_stat_activity
Я знаю, чтов таблице pg_stat_activity
есть pid, но это только приводит меня к процессу Postgres, который при поиске с ps
выглядит как
"postgres: user schema ::1(58300) [state]" where the [state] might be "idle", "SELECT" or "UPDATE"
Во время написания этого вопроса я узналчто число в фигурных скобках - это номер порта, который также указан в столбце "client_port"
из pg_stat_activity
.
Так что я смог использовать "netstat -p"
, чтобы наконец найти свой исполняемый файл и запрос действительнопохоже, соответствует процессу.
Но нет ли более простого (возможно, более надежного) способа сделать это?