2010-11-30 3 views
3

En fait, je suis en train d'exécuter quatre programmes démon. Il rend la connexion postgres, et il se déconnecte une fois avec les étoffes. Mais quand je mets ps aux, il y a beaucoup de processus d'inactivité de postgres exécutés dans mon système. Je veux juste savoir, initiateur du processus chaque postre oisif. Donc, que je pourrais savoir quel processus ne ferme pas la connexion postgres correctement.linux: Recherche de l'expéditeur du processus inactif postgres

Merci à l'avance.

Répondre

0

Voir How can you get the active users connected to a postgreSQL database via SQL?

qui peut obtenir le pid et uid des processus connectés

+0

Je pense, le tableau me montre l'id de processus des postres, pas l'expéditeur de l'id de processus de postgres. – Pavunkumar

+0

http://stackoverflow.com/questions/464623/how-can-you-get-the-active-users-connected-to-postgresql-database-via-sql/464629#464629 semble dire ce que vous demandez pour –

2

Si vous utilisez postgresql 9.0, définissez la propriété « nom de l'application » lorsque vous vous connectez afin que vous puissiez distinguer les processus client chaque processus de serveur parle. Par exemple (Perl):

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

Cela comprendra le PID du client dans le nom de l'application, ce qui est laid, mais efficace.

Si vous vous connectez via TCP/IP, alors pg_stat_activity inclut le port client que vous pouvez utiliser avec lsof (ou netstat -p) pour trouver le processus client.

4

Utilisez la commande suivante

netstat -ntp 

Il montrera le numéro de processus et le nom du processus créateur de connecteur postgres.

Questions connexes