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가 있습니다.

관련 정보