postgresプロセスの「コマンド」列の括弧内の数字はどういう意味ですか?

postgresプロセスの「コマンド」列の括弧内の数字はどういう意味ですか?

私が走るとき

ps aux | grep postgres

またはトップ| grep ポストグレス

すべてのpostgresプロセスに関する情報が得られ、最後の列(コマンド)の構造は次のとおりです。

postgres: username db ip_address(xxxxx) QUERY_TYPE

たとえば、

postgres: postgres test 192.168.0.100(33195) SELECT

この数字(33195)とはどういう意味ですか?

私のデータベースに問題があり、この情報が役に立つかどうかを知りたいです。一部のクエリは長すぎます。

これは一種のプロセス依存関係ですか?

答え1

~によるとPostgreSQLドキュメント

ほとんどのUnixプラットフォームでは、PostgreSQLは個々のサーバープロセスを簡単に識別できるようにpsによって報告されたコマンドのタイトルを変更します。

33195あなたの例では、ポートはpostgresサーバーが接続可能なリモートシステムのようです。192.168.0.100このようなものであることを確認してくださいnetstat -an | grep 33195

ただ見つけました。postgresql用のgitリポジトリ私はその行動を再追跡します。バックエンドの実行ps次のようにリストを更新する関数です。

/*
 * Set process parameters for ps
 *
 * WARNING: On some platforms the environment will be moved around to
 * make room for the ps display string. So any references to
 * optarg or getenv() from above will be invalid after this call.
 * Better use strdup or something similar.
 */
init_ps_display(real_argc, real_argv, port->user, port->database,
                remote_host);

そのうち、以前に設定されたRemote_hostがあります。

関連情報