code

postgresql 포트 혼란 5433 또는 5432?

starcafe 2023. 5. 18. 21:10
반응형

postgresql 포트 혼란 5433 또는 5432?

나는 OSX에 postgresql을 설치했습니다.psql을 실행하면 다음과 같이 됩니다.

$ psql
psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5433"?

그러나 /etc/services에서

postgresql      5432/udp    # PostgreSQL Database
postgresql      5432/tcp    # PostgreSQL Database
#                          Tom Lane <tgl@sss.pgh.pa.us>
pyrrho          5433/tcp    # Pyrrho DBMS
pyrrho          5433/udp    # Pyrrho DBMS

5433은 pyrho에 의해 점유되고 5432는 pg에 할당됩니다.나는 연결할 수 있습니다.

psql -p 5432

그런데 왜 psql은 5433이라고 생각하고 기본적으로 psql을 올바른 위치에 보이게 하는 방법은 무엇입니까?

/etc/services권고 사항일 뿐입니다. 잘 알려진 포트의 목록입니다.이는 해당 포트에서 실제로 실행 중인 것이 있거나 명명된 서비스가 해당 포트에서 실행된다는 것을 의미하지 않습니다.

포스트그레에서SQL의 경우 포트 5432를 사용하는 것이 일반적입니다.그렇지 않은 경우 대부분의 설치 관리자는 다음 빈 포트(일반적으로 5433)를 선택합니다.

은 를사여실실중확수있인다습니항을 사용하여 이 실행되고 볼 수.netstat도구(OS X, Windows 및 Linux에서 사용 가능하며 명령행 구문은 세 가지 모두에 걸쳐 다릅니다.)

이것은 Mac OS X 시스템에서 서로 다른 Postgre의 끔찍한 혼란으로 인해 더욱 복잡합니다.SQL 패키지 - Apple의 고대 버전 PostgreOS, Postgres.app, Homebrew, Macports, Enterprise에 내장된 SQLDB설치자 등

결국 발생하는 것은 사용자가 Pg를 설치하고 하나의 패키지에서 서버를 시작하지만 사용하는 것입니다.psql그리고.libpq다른 패키지의 고객입니다.이 Postgres. 또는 하고 postgres.app과 할 때 합니다.psql운영 체제와 함께 제공됩니다.이러한 기본 포트가 다를 뿐만 아니라 Mac OS X와 함께 제공된 Pg의 기본 유닉스 소켓 경로도 다르기 때문에 서버가 동일한 포트에서 실행되더라도 동일한 유닉스 소켓을 수신하지 않습니다.

는 이 문제를 "Mac"과 함께 tcp/ip를 합니다.psql -h localhost필요한예:psql -h localhost -p 5433여러 PostgrePostgre에서 중인 SQL 인스턴스를 사용하여 .select version()그리고.SHOW data_directory;.

디렉토리를 . " " " 를 하십시오.unix_socket_directories하려는 하고 "SQL 인스턴스의 설정합니다.psql -h 예: 예: 예: 예를 들어.psql -h /tmp.

입니다.PATH그래서psql그리고.libpq실제로 Postgre Postgre와 은 Postgre와 관련된 것입니다.PATH자세한 내용은 Mac OS X 버전과 설치한 Pg 패키지에 따라 달라집니다.저는 Mac을 사용하지 않으며 현재 사용 가능한 시간보다 더 많은 시간을 보내지 않고는 Mac에 대한 자세한 정보를 제공할 수 없습니다.

OSX에 대한 빠른 답변, 환경 변수 설정.

>export PGHOST=localhost

>export PGPORT=5432

필요한 건 뭐든지요

Postgres의 기본 포트는 일반적으로 다음과 같이 구성됩니다.

sudo vi /<path to your installation>/data/postgresql.conf

Ubuntu의 경우 다음과 같습니다.

sudo vi /<path to your installation>/main/postgresql.conf

검색:port이 파일에서.

이러한 현상이 발생하는 가장 일반적인 이유 중 하나는 새로운 버전의 Postgre를 설치하는 경우인 것 같습니다.기존 설치의 서비스를 중지하지 않고 SQL을 실행합니다.이것도 저의 특별한 골칫거리였습니다.특히 OS X에서 설치 또는 업그레이드하기 전에 Enterprise DB에서 원클릭 설치 프로그램을 사용하여 이전 설치의 상태를 확인한 후 계속 진행하십시오.

@a_horse_with_no_name의 코멘트 덕분 PGPORT 정의를 pg_env.sh의 5432로 변경했습니다.그것으로 문제가 해결되었습니다.나는 포스트그레스가 5432에서 서비스를 호스팅할 때 처음에 왜 5433으로 설정했는지 모르겠습니다.

저도 이 문제에 부딪혔는데, 결국 두 개의 포스트그레스 서버를 동시에 실행하게 되었습니다.그 중 하나를 제거하고 포트를 5432로 다시 변경하여 현재 정상적으로 작동합니다.

Mac OS High SierraPgAdmin 4에서 Postrgre 클릭왼쪽 열의 Servers 아래에 있는 SQL10 데이터베이스의 Properties 탭에서 Connection 아래에 5433포트로 표시되었습니다.(설치 중 5432를 선택했기 때문에 이유를 알 수 없습니다.)어쨌든 속성 탭 아래에 있는 편집 아이콘을 클릭하여 5432로 변경하고 저장하면 문제가 해결됩니다.계산해 보세요.

언급URL : https://stackoverflow.com/questions/15100368/postgresql-port-confusion-5433-or-5432

반응형