PostgreSQL 포트 결정


12

기본적으로 PostgreSQL은 포트 5432에서 수신 대기하지만 PostgreSQL의 포트를 실제로 결정하는 명령은 무엇입니까?

구성 : PostgreSQL 8.4가 설치된 Ubuntu 9.10

답변:


26

lsof 및 nmap은 솔루션이지만 기본적으로 설치되지는 않습니다. 원하는 것은 netstat (8)입니다.

sudo netstat -plunt |grep postgres

리눅스는 아마도 route / ifconfig / netstat에서 벗어나고있을 것입니다. 동등한 현대 명령은 ss -plung|grep postgres(주, 동일한 플래그)
ptman

1
g더 이상 ss명령에 플래그 가 없습니다 . 시도 :ss -pa |grep postgresql
GrayedFox

1
제가 생각하기 때문에, 포트가 아닌 수의 이름을 제공하는 업데이트,하지만 나를 위해 @GrayedFox 덕분에 ss -pan |grep postgres더 적합합니다
ptman

6

PostgreSQL 유틸리티 pg_lsclusters는 포트 번호를 포함한 모든 클러스터의 구성 및 상태에 대한 정보를 보여줍니다.

$ pg_lsclusters
Version Cluster   Port Status Owner    Data directory                     Log file
8.4     main      5433 online postgres /var/lib/postgresql/8.4/main       /var/log/postgresql/postgresql-8.4-main.log

또한 'sudo'권한이 필요하지 않다는 장점이 있습니다.

데비안 및 우분투 시스템에서 pg_lsclusters 명령은 postgresql-common 패키지에 의해 제공되며 postgresql 서버와 함께 기본적으로 설치되어야합니다.


3
참고 pg_lsclusters우분투 -주의이며,입니다 하지 표준 포스트 그레스 명령. ... 그것은이 경우에 작동하지만 범용 솔루션은 아니다
voretaq7

2

데이터베이스 내부에서 수행하려면 "SHOW 포트"를 수행하십시오. 그러나 그것은 적어도 로컬에 연결할 수 있다고 가정합니다 ...


1

로컬 컴퓨터에서 검색하는 경우 lsof 명령을 사용하여 postgresql이 사용중인 포트를 확인합니다

lsof -p <postgres_process_id>

루트로 이것을 실행해야 할 수도 있습니다.
Michael Mior

1

여러 개의 postgres 인스턴스가 실행되는 머신이 있으므로 올바른 데이터베이스를 각 포트와 일치시키는 데 문제가 있습니다. 나는 경향이있다 :

$ ps aux | grep  postgres | grep -v 'postgres:'

그런 다음 반환 된 각 인스턴스에 대해 디렉토리 ( -D인수)를 찾으십시오 .

$ sudo grep port $DIR/postgresql.conf

0

내가 찾은 해결책은 다음과 같습니다.

sudo apt-get install nmap
sudo nmap localhost | grep postgresql

로컬이 아닌 컴퓨터를 검색 localhost하려면 서버의 IP 주소로 변경 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.