programing

Brew 서비스를 통해 실행 중인 Postgres 서버에 연결할 수 없습니다.

closeapi 2023. 5. 16. 22:41
반응형

Brew 서비스를 통해 실행 중인 Postgres 서버에 연결할 수 없습니다.

저는 이것에 대한 해결책을 찾고 있었지만 작동하는 해결책을 찾을 수 없었습니다.

brew (브루)를 brew install postgres)를 MacBook에서 하고 있으며 서비스를 brew services listpostgres를 실행 중인 서비스로 표시합니다.하지만, 내가 뛰려고 할 때psql다음 오류가 발생합니다.

psql: 서버에 연결할 수 없습니다.해당 파일 또는 디렉터리 없음 서버가 로컬에서 실행되고 UNIX 도메인 소켓 "/tmp/.s"에서 연결을 허용합니다.PGSQL.5432"?

비슷한 문제를 이미 해결한 사람이 있습니까?

같은 오류가 발생하여 프로세스 pid 파일을 제거하여 수정했습니다.

rm -f /usr/local/var/postgres/postmaster.pid

또는 특정 버전의 경우:

rm -f /usr/local/var/postgresql@14/postmaster.pid


[팔 기반 칩에 대한 업데이트된 답변(애플 M1)]

를 할 때brewpostgresql컴퓨터에서 M1은postmaster.pid 위치:/opt/homebrew/var/postgresql/postmaster.pid

다음 세 단계를 수행합니다.

# 1. Stop PostgreSQL 
brew services stop postgresql

# 2. Delete the postmaster.pid
rm -f /opt/homebrew/var/postgresql@12/postmaster.pid

# 3. Start the PostgreSQL again
brew services start postgresql

내용 .brew services info postgresql

brew services info postgresql
postgresql@12 (homebrew.mxcl.postgresql)
Running: ✔
Loaded: ✔
Schedulable: ✘
User: root
PID: 34884

저는 오늘 이 문제에 부딪혔습니다.포스트그레스는 홈브루가 실행 중이라고 생각했지만 연결을 받아들이는 것을 중단했습니다.

그걸 고치기 위해 난 도망쳤고,

brew services restart -vvv postgresql

이 명령어의 출력,

==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
==> Generated plist for postgresql:
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
   <dict>
     <key>KeepAlive</key>
     <true/>
     <key>Label</key>
     <string>homebrew.mxcl.postgresql</string>
     <key>ProgramArguments</key>
     <array>
       <string>/usr/local/opt/postgresql/bin/postgres</string>
       <string>-D</string>
       <string>/usr/local/var/postgres</string>
     </array>
     <key>RunAtLoad</key>
     <true/>
     <key>WorkingDirectory</key>
     <string>/usr/local</string>
     <key>StandardErrorPath</key>
     <string>/usr/local/var/log/postgres.log</string>
   </dict>
   </plist>

그 로그 파일에 뭔가 있을 수도 있다는 생각이 들었어요

tail -n 10 /usr/local/var/log/postgres.log

아니나 다를까,

[4826] FATAL:  lock file "postmaster.pid" already exists
[4826] HINT:  Is another postmaster (PID 1489) running in data directory "/usr/local/var/postgres"?

그래서 저는 그 파일을 제거했습니다.

rm /usr/local/var/postgres/postmaster.pid

그리고 모든 것이 다시 작동하기 시작했습니다.

나의 경우에는postmaster.pid파일이 거기 있지도 없었습니다.우편물을 업그레이드해서 작동하게 되었습니다.

brew update
brew upgrade

그런 다음 메이저 버전을 10에서 11로 업그레이드했기 때문에 이것도 실행해야 했습니다.

brew postgresql-upgrade-database

(출처 https://github.com/facebook/react-native/issues/18760#issuecomment-410533581)

저는 여기서 윌슨과 그라스호퍼의 두 대답을 결합할 것입니다.

파일은 다서음사여비있수확다습인니할일을록을 사용하여 할 수 .brew services list파일 위치를 찾아서 즐겨찾는 편집기에서 열기만 하면 됩니다.

은 의가를확합니다의 합니다.StandardErrorPath에 있는 항목:

<key>StandardErrorPath</key>
<string>/usr/local/var/log/postgres.log</string>

로그 의 끝 을 그런 로파 끝 다 사 같 합 야 해 니 다 용 이 과 다 음 음 을 다 음 의 일 그 ▁andtail -n 100 /usr/local/var/log/postgres.log

제 경우 오류는 다음과 같습니다.

2017-12-06 11:51:16.078 GMT [85476] FATAL: lock file "postmaster.pid"가 이미 2017-12-06 11:51:16.078 GMT [85476] HINT: 다른 포스트마스터(PID 601)가 데이터 디렉토리 "/usr/local/var/postgres"에서 실행되고 있습니까?

이는 Mac을 하드 종료해야 했고 PID 파일을 정리할 기회가 없었기 때문입니다. 파일 PID를 됩니다.rm /usr/local/var/postgres/postmaster.pid그리고 포스트를 시작합니다.brew services start postgresql

경고: Postgres가 실행되고 있지 않은 것이 확실하지 않으면 PID 파일을 삭제하지 마십시오.실행하면 이 작업을 수행할 수 있습니다.brew services stop postgresql예요.brew services list포즈가 정지 상태임을 나타냅니다.

문제 - macOS 업그레이드 후 Postgres가 작동하지 않음

저는 방금 최신 macOS(Big Sur)로 업그레이드했습니다.

다음 오류로 인해 postgresql의 로컬 인스턴스를 데이터베이스로 사용하는 노드 응용 프로그램을 시작할 수 없습니다.Error: connect ECONNREFUSED 127.0.0.1:5432

분명히 postgresql이 내 컴퓨터에서 더 이상 제대로 실행되지 않습니다.

중입니다.brew services listpostgresql에 대한 오류를 보여줍니다.

Name          Status  User  Plist    
postgresql    error   ***** /Users/*****/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

솔루션 - 게시물 업그레이드

문제를 해결하기 위해 다음 명령을 사용하여 postgresql을 업그레이드했습니다.

$ brew services stop postgresql
$ brew postgresql-upgrade-database # may need to `rm-rf /usr/local/var/postgres.old` first
$ brew services start postgresql

postgresql 버전이 여러 개 설치되어 있는 경우.아래에 언급된 명령은 프로세스 ID(pid)를 제거하고 다시 시작하는 작업을 수행합니다.올바른 버전을 선택했는지 확인하십시오.

rm -f /usr/local/var/postgresql@9.6/postmaster.pid

brew services restart postgresql@9.6   

로그 파일의 "lock file postmaster.pid already exists"에 대한 문제인지 확인하려면 Eric Corner의 답변을 참조하십시오.

Mac을 강제로 다시 시작할 때도 같은 오류가 발생했습니다.

내가 했을 때:

brew services list

다음 오류가 발생했습니다.

postgresql        error  256 ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

이 문제를 해결하기 위한 단계는 다음과 같습니다.

터미널을 열고 다음 명령을 입력합니다.

cd /opt/homebrew/var/postgres
rm postmaster.pid

제게 효과가 있었던 것은 그것을 제거하는 것이었습니다./usr/local/var/postgres/한 후 를 제거하고 합니다.

저의 경우, MacOS Monterey로 업데이트한 후 제작이 필요했습니다.

$ brew postgresql-upgrade-database

뿐만 아니라.

버전 탭에서 postgresql93을 설치하는 것과 같은 오류가 발생했습니다. 파일의 에 표시된 .brew services list(~/Library/LaunchAgents/homebrew.mxcl.postgresql93.plist 과 같은 메시지를

FATAL: 데이터 디렉토리 "/usr/local/var/postgres"에 그룹 또는 월드 액세스 권한이 있음
세부 정보: 사용 권한은 u=rwx(0700)여야 합니다.

그래서 이 대답을 하게 되었습니다. "/usr/local/var/postgres" 데이터 디렉토리에 잘못된 소유권이 있습니다.

를 한 후sudo chmod -R 700 /usr/local/var/postgres다른 오류가 발생했습니다.

FATAL: "pg_tblspc" 디렉토리를 열 수 없습니다.해당 파일 또는 디렉터리가 없습니다.

그 후 저는 다음과 같이 했습니다: 최신 버전의 OS X(요세미티 또는캐피탄)설치한 후 'pg_tblspc'가 누락되었습니다.

를 한 후mkdir /usr/local/var/postgres/pg_tblspc/클러스터가 성공적으로 시작되었습니다.

제 경우(홈브루가 설치한 포스트그레스),

  • 오류를 확인하기 위해 로그를 미행하기tail -n 50 /usr/local/var/log/postgres.log

    2022-04-28 16:38:10.509 PDT [84751] FATAL: lock file "postmaster.pid"가 이미 2022-04-28 16:38:10.509 PDT [84751] HINT: 다른 포스트마스터(PID 969)가 데이터 디렉토리 "/usr/local/var/postgres"에서 실행되고 있습니까?

  • 를 죽입니다pid위에 근거하여kill -9 <pid>

  • 홈브루를 통해 서비스를 다시 시작합니다.brew services restart postgresql && brew services list

명령을 사용하여 업데이트

  brew postgresql-upgrade-database

다음 오류가 발생하면 명령 'brew'를 찾을 수 없지만 설치할 수 있습니다. sudoapt install linuxbrew-wrapper

그런 다음 명령을 사용하여 설치합니다.

 sudo apt install linuxbrew-wrapper

다른 대답들이 모두 먹히지 않을 경우...

저는 이 같은 메시지와 수락된 답변을 보고 있었습니다. 실행 중입니다.

rm -f /usr/local/var/postgres/postmaster.pid

작동하지 않았습니다.역시

rm -f /usr/local/var/postgres@9.6/postmaster.pid특정 버전을 설치한 것을 기억한 후에.

나는 했습니다.cat /usr/local/var/log/postgresql@9.6.log그리고 톱:

FATAL:  lock file "postmaster.pid" already exists
HINT:  Is another postmaster (PID 1231) running in data directory "/usr/local/var/postgresql@9.6"?
> ps aux|grep 1231
[...] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/libexec/mobileassetd

**생각하는 얼굴**

iOS 시뮬레이터를 닫습니다.Postgres가 자체적으로 다시 시작되었습니다.

이것은 데스크톱에 있는 것으로 어제 전원이 나갔습니다. 다른 답변을 토대로 볼 때 근본 원인은 정리할 시간을 주지 않고 하드 종료된 것으로 의심됩니다.

postgres.log 파일에 "image not found error"가 포함되어 있으면 postgresql:

brew reinstall postgresql

만약 어떤 사람이 모든 것을 시도한 후에 바닥으로 스크롤을 해서 그것이 작동하지 않는다면, 이것이 저에게 효과가 있었던 것입니다.저는 결국 이것을 위해 양조주를 사용하지 않기로 결정했습니다.

저는 이 링크 https://postgresapp.com 에 따라 웹사이트에서 직접 Postgres 앱을 설치하고, 새로운 서버를 초기화하고, 평소처럼 데이터베이스와 테이블을 만들었습니다.

또한 포트 점유 관련 오류가 발생하여 https://stackoverflow.com/a/43825665 이라는 답변이 도움이 되었습니다.

내 경우에는,postgres.log파일에 포함되어 있습니다.HINT: Is another postmaster already running on port 5432? If not, remove socket file "/tmp/.s.PGSQL.5432" and retry.소켓 파일을 제거하고 다시 시작한 후 모든 것이 정상적으로 작동했습니다.숨겨진 파일이므로 창 브라우저를 통해 볼 수 없습니다.제거는 명령줄을 통해 수행해야 합니다.

libssl/libcrypto 버전이 충돌할 수 있습니다.

brew services start postgres으로 시작하는 로는나를제지만수동로으시작했공pg_ctl -D /usr/local/var/postgres start가리킴:

/.../openssl/lib/libcrypto.1.0.0.dylib에 _RAND_cleanup 정의 누락

다음을 시도해 보십시오.

brew tap-new $USER/old-openssl
brew extract --version=1.0.2t openssl $USER/old-openssl
brew install openssl@1.0.2t

# and then either brew link openssl@1.0.2t or symlink the required files to current openssl
ln -s /usr/local/Cellar/openssl/openssl@1.0.2t/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
ln -s /usr/local/Cellar/openssl/openssl@1.0.2t/lib/libssl.1.0.0.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib

제 문제는 데이터베이스에 대한 열린 연결이었습니다.

저의 경우, 문제는 제가 시작하려고 시도하는 것이었습니다.brew사용자가 현재 로그인하지 않은 Mac의 SSH 세션에서 서비스를 제공합니다.MacOS 로그인 GUI를 통해 Mac에 로그인하는 것만으로 문제가 해결되었습니다.

더 자세한 오류 메시지에는 문제가 다음과 같은 힌트가 포함되어 있습니다.gui -관련 항목:

Error: Failure while executing; `/bin/launchctl enable gui/501/homebrew.mxcl.postgresql` exited with 64.

버전 14 도트 업그레이드를 가정한 후의 문제는 버전이 아닌 Postgres 디렉토리였습니다.

brew info postgresql

에서는 버전이 아닌 디렉터리에 대한 경고를 표시하고 다음을 실행하도록 지시합니다.

brew services stop postgresql
mv -v "/opt/homebrew/var/postgres" "/opt/homebrew/var/postgresql@14"

언급URL : https://stackoverflow.com/questions/39710384/cannot-connect-to-postgres-server-running-through-brew-services

반응형