PSQL 명령을 사용하여 호스트 이름 및 포트 찾기


150

PSQL을 실행 중이며 데이터베이스에 연결하는 펄 응용 프로그램을 얻으려고합니다. 데이터베이스가 실행중인 현재 포트 및 호스트를 찾는 명령이 있습니까?

답변:


57

기본 PostgreSQL 포트는 5432입니다. 데이터베이스가 작동하는 호스트는 호스팅 제공 업체가 제공해야합니다. 웹 서버가 지정되지 않은 경우 웹 서버와 동일한 호스트 일 것입니다. 웹 서버와 데이터베이스 서버가 동일한 호스트에 있다고 가정하면 일반적으로 localhost로 구성됩니다.


나도이 문제를 겪고 5433 포트를 사용하려고 시도하고있다.
Jonny Manowar

5
이것은 실제로 질문에 대답하지 않습니다.
sk

@sk 문맥을 읽습니다. OP는 postgres 데이터베이스의 호스트와 포트를 몰랐습니다. 기본 psql명령으로 연결할 수 있으므로을 의미합니다 localhost:5432. 누군가 env vars / aliases / etc에 영리하지 않으면 나는 10 년 후 내 대답을 좋아하지 않지만 y 대신 x해결하는 것이 완벽 하며이 경우 수백 명의 사람들을 도왔습니다.
Brad Koch

228
SELECT *
FROM pg_settings
WHERE name = 'port';

2
불행히도 같은 클러스터에 여러 서버가있는 경우 작동하지 않습니다.
Vitor Baptista

2
이것은 실제로 서버 호스트가 아닌 포트 번호를 제공합니다.
hd1

2
@ hd1 : 그리고? 문제는 또한 포트 번호를 얻는 방법이었습니다. 그리고 이것이 쿼리가 반환하는 것입니다.
a_horse_with_no_name

예, 그러나 데이터베이스에 연결할 수 없으면 다음을 실행할 수 없습니다. : P
jaydel

137

이 명령은 postgres 포트 번호를 제공합니다

 \conninfo

postgres가 Linux 서버에서 실행중인 경우 다음 명령을 사용할 수도 있습니다.

sudo netstat -plunt |grep postgres

또는 (우체국 장이 된 경우)

sudo netstat -plunt |grep postmaster

그리고 당신은 이것과 비슷한 것을 보게 될 것입니다

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      140/postgres
tcp6       0      0 ::1:5432                :::*                    LISTEN      140/postgres

이 경우 포트 번호는 5432이며 기본 포트 번호이기도합니다.

크레딧 링크


1
그것은 5432에 대한 전자 메일 관리자로오고있다
codebased

4
이것이 정답입니다. 선택한 답변은 사실이지만 질문과 관련이 없습니다.
Luis Martins

42

select inet_server_addr(); 서버의 IP 주소를 제공합니다.


2
안타깝게도 이것은 ssh 프록시를 통해 연결하는 경우 "라이브"호스트 이름을 제공하지 않습니다. "127.0.0.1"이 계속 표시됩니다.
Andrew Wolfe

8
나는 아무것도 얻지 못했다 :$postgres=# select inet_server_addr(); inet_server_addr ------------------ (1 row)
trex

호스트 이름을 지정하지 않았습니다
Kumar Vaibhav

15

select inet_server_port(); 서버의 포트를 제공합니다.


3
블루 호스트에서이 쿼리는 실제로 포트가 5432 인 경우 빈 필드를 반환합니다.이 쿼리는 항상 포트 번호를 반환하지는 않습니다.
Eric Leschinski


12

이것은 비 SQL 방법입니다. 이미지 자체에 지침이 제공됩니다. 정보를 찾을 서버를 선택한 다음 단계를 수행하십시오.

여기에 이미지 설명을 입력하십시오


9

postgresql 포트는 postgresql.conf파일에 정의되어 있습니다 .

우분투 14.04의 경우 다음과 같습니다. /etc/postgresql/9.3/main/postgresql.conf

안에는 줄이 있습니다.

port = 5432

번호를 변경하면 postgresql을 다시 시작해야 적용됩니다.


5

당신 \conninfo 은 얻을 psql에서 명령을 사용할 수 있습니다You are connected to database "your_database" as user "user_name" on host "host_name" at port "port_number".


3

터미널에서 다음을 수행 할 수 있습니다.

\ conninfo

다음을 사용하여 모든 명령의 전체 목록에서 문서를 읽는 것이 좋습니다.

\?


0

"터미널"로 이동하여 다음을 입력하십시오.

service postgres status

결과에서 포트 세부 정보를 얻을 수 있습니다postgres 세부 사항 실행

필자의 경우 포트 "5432"(기본값)에서 실행 중입니다.
CentOS 7을 사용하고 있습니다.


0
SELECT CURRENT_USER usr, :'HOST' host, inet_server_port() port;

이것은 psql의 내장 HOST 변수를 사용합니다 .

여기 에 문서화 된 postgres 시스템 정보 기능


로컬로 연결하는 경우 HOSTUNIX 도메인 소켓이있는 디렉토리가됩니다 (예 :) /tmp.
감독

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