O que significa o número entre parênteses na coluna “comando” para os processos postgres?

1

Quando executo

ps aux | grep postgres

ou topo | grep postgres

Eu obtenho todos os meus processos postgres com algumas informações, a última coluna (comando) tem a seguinte estrutura:

postgres: username db ip_address(xxxxx) QUERY_TYPE

Por exemplo:

postgres: postgres test 192.168.0.100(33195) SELECT

O que esse número significa (33195)?

Estou tendo problemas com meu banco de dados e quero saber se essa informação poderia me ajudar. Algumas consultas estão demorando muito.

É algum tipo de dependência do processo?

    
por rootdy 10.11.2016 / 17:30

1 resposta

0

De acordo com os documentos postgresql ,

On most Unix platforms, PostgreSQL modifies its command title as reported by ps, so that individual server processes can readily be identified

Parece-me que o 33195 no seu exemplo é a porta no sistema possivelmente remoto 192.168.0.100 que se conectou ao servidor postgres. Confirme com algo como netstat -an | grep 33195 .

Acabamos de encontrar o repositório git para postgresql , onde rastreei o comportamento até o DoBackend , que atualiza a lista ps da seguinte forma:

/*
 * 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);

em que remote_host foi definido anteriormente.

    
por 10.11.2016 / 19:33