【问题标题】:linux : Finding the postgres idle process originatorlinux : 寻找 postgres 空闲进程的发起者
【发布时间】:2013-01-25 21:28:13
【问题描述】:

实际上,我正在运行四个守护程序。它建立了 postgres 连接,并与这些东西断开连接。但是当我输入 ps aux 时,我的系统中有很多 postgres 空闲进程正在运行。我只想知道,每个空闲 postres 进程的发起者。所以,我可以找出哪个进程没有正确关闭 postgres 连接。

提前致谢。

【问题讨论】:

    标签: linux postgresql ps


    【解决方案1】:

    使用以下命令

    netstat -ntp
    

    它将显示 postgres 连接器创建者的进程 ID 和进程名称。

    【讨论】:

      【解决方案2】:

      如果您使用的是 postgresql 9.0,请在连接时设置“应用程序名称”属性,以便您可以区分每个服务器进程正在与哪个客户端进程通信。例如(Perl):

      $dbh = DBI->connect("dbi:Pg:application_name=test/$$", undef, undef)
      

      这将在应用程序名称中包含客户端 PID,虽然丑陋但有效。

      如果您通过 TCP/IP 进行连接,则pg_stat_activity 包含客户端端口,您可以使用该端口与lsof(或netstat -p)一起查找客户端进程。

      【讨论】:

        【解决方案3】:

        【讨论】:

        猜你喜欢
        • 2012-02-21
        • 2013-12-29
        • 1970-01-01
        • 2012-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多