psql: 서버에 연결할 수 없습니다.해당 파일 또는 디렉터리 없음(Mac OS X)
Mac을 다시 시작할 때 무서운 Postgres 오류가 발생했습니다.
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
이 일이 발생한 이유는 제 맥북이 관련 없는 문제로 완전히 얼어붙어 전원 버튼을 사용하여 하드 리부팅을 해야 했기 때문입니다.재부팅 후 이 오류 때문에 Postgres를 시작할 수 없었습니다.
경고: 우체국장을 삭제하는 경우.실행 중인 프로세스가 없는지 확인하지 않으면 데이터베이스가 영구적으로 손상될 수 있습니다.(포스트그리)포스트마스터가 종료된 경우 SQL에서 자동으로 삭제해야 합니다.)
해결책: 문제가 해결되었습니다. 이 파일을 삭제하고 모든 것이 작동했습니다!
/usr/local/var/postgres/postmaster.pid
--
그리고 이게 왜 삭제되어야 하는지 제가 알아낸 방법입니다.
실행 중인 PG 프로세스가 있는지 확인하기 위해 다음 명령을 사용했습니다.나에게는 없었고, 심지어 PG 서버를 시작할 수도 없었습니다.
ps auxw | grep post
저는 파일을 검색했습니다.위의 오류 메시지에 있는 PGSQL.5432.다음 명령을 사용했습니다.
sudo find / -name .s.PGSQL.5432 -ls
이것은 내 전체 컴퓨터를 검색한 후 아무것도 표시되지 않아서 파일이 존재하지 않았지만, 분명히.psql
"그것을 거기에 있다고 생각했다" 또는 "그것이 거기에 있다고 생각했다".
서버 로그를 살펴보니 다음과 같은 오류가 발생했습니다.
cat /usr/local/var/postgres/server.log
서버 로그 끝에 다음 오류가 표시됩니다.
FATAL: pre-existing shared memory block (key 5432001, ID 65538) is still in use
HINT: If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
- 오류 메시지의 조언에 따라 server.log와 동일한 디렉토리에 있는 postmaster.pid 파일을 삭제했습니다.이를 통해 문제가 해결되었고 다시 시작할 수 있었습니다.
그래서 제 맥북이 얼어서 하드 리부트가 된 것이 Postgres가 리부트 후에도 프로세스가 계속 실행되고 있다고 생각하게 된 것 같습니다.이 파일 삭제가 해결되었습니다.많은 사람들이 비슷한 문제를 가지고 있지만, 대부분의 대답은 파일 권한과 관련된 것이었지만, 저의 경우는 상황이 달랐습니다.
위의 어떤 것도 저에게 효과가 없었습니다.다음과 같은 방법으로 Postgres를 다시 설치해야 했습니다.
사용하여 합니다: brew: postgresql:
brew uninstall postgresql
brew doctor
에 있는 은 무엇이든 고쳐라brew cleanup
모든 Postgres 폴더 제거:
rm -r /usr/local/var/postgres
rm -r ~/Library/Application\ Support/Postgres
brew와 합니다: brew: postgresql은 postgresql입니다.
brew install postgresql
서버: 서버시:
brew services start postgresql
이제 데이터베이스를 만들어야 합니다.(
createdb
)
만약 당신이 macOS에 있고 홈브루를 통해 postgres를 설치했다면, 그것을 다시 시작해보세요.
brew services restart postgresql
Ubuntu에 있는 경우 다음 명령 중 하나를 사용하여 Ubuntu를 다시 시작할 수 있습니다.
sudo service postgresql restart
sudo /etc/init.d/postgresql restart
관련이 일 수도 있지만 할 때 .postgres
▁▁major▁using를 사용하여 brew
사용하여brew info postgresql
다음과 같은 도움이 된 것을 알게 되었습니다.
To migrate existing data from a previous major version of PostgreSQL run:
brew postgresql-upgrade-database
제 방법은 다음과 같습니다.
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
rm /usr/local/var/postgres/postmaster.pid
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
다음 명령들이 저를 도와주었습니다.그 문제는 Postgre에 있었습니다.SQL 데이터 버전입니다.일단 업그레이드가 되면, 저는 잘 작동하기 시작했습니다.
brew upgrade postgresql
brew postgresql-upgrade-database
brew services restart postgresql
만약 당신이postmaster.pid
다시 시작하거나 다시 시작할 수 없습니다. 다음을 수행하십시오.
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
여기서 처음에 설명한 바와 같이
저에게 해결책은 단순히 컴퓨터를 다시 시작하는 것이었습니다.처음에는 Brew 서비스를 사용하여 다시 시작해 보았지만, 제대로 작동하지 않을 때는 좀 더 관련된 솔루션을 검토하기 전에 다시 시작하는 것이 가장 좋은 방법인 것 같습니다.모든 것이 그 후에 정상적으로 작동했습니다.
이 문제가 발생할 수 있는 또 다른 이유는 Postgres 버전 업데이트 때문입니다.
이 문제는 postgres 로그를 통해 확인할 수 있습니다.
tail -n 10000 /usr/local/var/log/postgres.log
다음과 같은 항목이 표시됩니다.
DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 13.0.
Mac을 사용하는 으로 가정)brew
실행:), 파일 이름:
brew postgresql-upgrade-database
(이상하게도, 1차 실행에서 실패하고 2차 실행에서 작동했으니, 포기하기 전에 두 번 시도해 보세요.)
세상 :) 안녕하세요 :)
나에게 가장 좋지만 이상한 방법은 다음 일들을 하는 것이었습니다.
postgres93.app 또는 다른 버전을 다운로드합니다.이 앱을 /Applications/폴더에 추가합니다.
파일에 행(명령) 추가.bash_profile
홈 디렉토리에 으)로 표시됩니다.
PATH=/응용 프로그램/Postgres93.app/콘텐츠/MacOS/bin/:$PATH 내보내기It's a PATH to
psql
from
Postgres93.app
. The row (command) runs every time console is started.
런칭Postgres93.app
/Applications/
폴더를 누릅니다.로컬 서버(포트는 "5432", 호스트는 "localhost")를 시작합니다.
이 모든 조작 후에 저는 뛸 수 있어서 기뻤습니다.$ createuser -SRDP user_name
그리고 다른 명령들과 그것이 작동했는지 확인하는 것! Postgres93.app
시스템이 시작될 때마다 실행되도록 만들 수 있습니다.
또한 데이터베이스를 그래픽으로 보려면 설치해야 합니다.PG Commander.app
를 예쁜 테이블로
물론 로컬 서버에만 도움이 됩니다.이 지침서가 이 문제에 직면한 다른 사람들에게 도움이 된다면 기쁠 것입니다.
이 문제는 많은 출처를 가지고 있고, 따라서 많은 답을 가지고 있습니다.저는 그것들을 각각 경험했습니다.
충돌이 발생한 경우 postgres에서 제대로 처리하지 못했기 때문에 /usr/local/var/postgres/postmaster.pid 파일을 제거해야 합니다.그러나 실행 중인 프로세스가 없는지 확인합니다.
크레이그 링거는 다른 게시물에서 애플의 포스트그리 번들링을 지적했습니다.SQL은 페이지 설치 문제로 이어집니다. PATH 환경 변수를 설정하는 것이 해결책입니다.
또 다른 해결책은 보석을 제거하고 다시 설치하는 것입니다.추가 업데이트도 필요할 수 있습니다.
이 게시물을 우연히 발견하면, 출처 중 하나를 정확히 파악할 수 있다면, 시간을 절약할 수 있을 것입니다.
저는 여기서 비슷한 문제에 직면했습니다. 저는 아래와 같이 이 문제를 해결했습니다.
실제로 Postgres 프로세스가 비활성화되었습니다. Postgres의 상태를 보려면 다음 명령을 실행하십시오.
sudo /etc/init.d/postgres status
프로세스가 중단되었다고 표시됩니다. 프로세스를 시작하십시오.
sudo /etc/init.d/postgres start
Mac(High Sierra)이 중지되어 수동으로 다시 시작해야 하는 상황이 발생했습니다(전원 버튼을 누른 채로).그것을 고치기 위해 제가 해야 할 일은 완전히 다시 시작하는 것이었습니다.
저도 같은 문제가 있었습니다.대부분의 경우 문제는 파일이 남아 있다는 것입니다.
/usr/local/var/postgres/postmaster.pid
대부분의 사람들에게 효과가 있지만 제 경우는 달랐습니다. 저는 지난 3시간 동안 이 문제를 구글에 검색하고, brew를 통해 OSX에서 postresql을 제거하고, 데이터베이스를 제거했지만 아무 것도 작동하지 않았습니다.
마지막으로, 제가 무언가를 설치하려고 할 때마다 다음과 같은 문제가 발생한다는 것을 알게 되었습니다.
Error: Permission denied @ rb_sysopen - /private/tmp/github_api_....
설치가 끝날 때쯤이면 됩니다.
했냥습다니그를 했습니다.sudo chmod -R 777 /private/tmp
그리고 그것은 마침내 작동합니다!
이것이 다른 사람을 위한 해결책이 될 수도 있기 때문에 적어봅니다.
저는 같은 문제에 직면했습니다.psql (PostgreSQL) 9.6.11
.
내게 효과가 있었던 것은-
postmaster를 합니다.pid 거제 --rm /usr/local/var/postgresql@9.6/postmaster.pid
postgres -- postgres 다작시시 --brew services restart postgresql@9.6
한다면postmaster.pid
존재하지 않거나 위의 프로세스가 작동하지 않고 실행됩니다.
sudo chmod 700 /usr/local/var/postgresql@9.6
M1 Mac에서 이 문제가 발생하는 경우 이 파일을 삭제하고 Brew 서비스를 다시 시작해 보십시오.
rm /opt/homebrew/var/postgres/postmaster.pid
문제는 Gas Mask(Mac용 호스트 파일 관리자)를 사용하고 있었고, 사용 중인 호스트 파일에 localhost에 대한 항목이 없다는 것이었습니다.
추가한 항목:
127.0.0.1 localhost
그리고 그것이 제 문제를 해결했습니다.
왜 그런지는 모르겠지만, 제 Postgres 설치가 조금 잘못되었고 일부 파일이 삭제되어 OP가 표시되는 오류가 발생했습니다.
다과같명실령행수할불있고구하도음에을과 같은 할 수 brew service retart postgres
그리고 적절한 메시지를 확인합니다. 이 오류는 계속되었습니다.
제 이 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ/usr/local/var/postgres
완전히 비어 있었습니다.했습니다: 그서다실행니다습했음을.
initdb /usr/local/var/postgres
해당 명령을 사용하여 일부 구성이 수행된 것 같습니다.
그리고 나서 이것을 실행하라고 했습니다.
postgres -D /usr/local/var/postgres
그리고 그것은 postmaster.pid 파일이 이미 존재한다는 것을 알려주었습니다.
방금 실행한 구성을 브루가 선택할 수 있는지 알고 싶어서 테스트해 보았습니다.
ls /usr/local/var/postgres
우체국장pid 파일을 보여주었습니다. 저는 나는그때를 했습니다.brew services stop postgresql
우체국장pid 파일이 사라졌습니다.그다음에 제가.brew services start postgresql
그리고 VILA, 파일이 다시 나타났습니다.
그런 다음 앱을 실행했습니다. 실제로 서버를 찾았지만 데이터베이스가 사라진 것 같습니다.
이러한 데이터가 전혀 사라지지 않을 수도 있지만, 새로운 초기화로 인해 새로운 데이터 영역이 생성되었을 수 있으며 이전 데이터 영역은 지정되지 않습니다.저는 그것이 어디에 있는지 보고 그것을 다시 가리키거나 제 데이터베이스를 다시 만들어야 합니다.
이것이 도움이 되길 바랍니다!포스트그레스 문서를 읽는 것은 저에게 많은 도움이 되었습니다.저는 "이것을 붙여라!"와 같은 대답을 읽는 것을 싫어합니다. 도대체 무슨 일이 일어나고 있고 왜 그런지 모르기 때문입니다.
저도 같은 문제가 있었는데 버전 11에서 13.2로 업그레이드한 후 호환되지 않는 버전 때문이었습니다.
오류 로그 확인 위치:
/usr/local/var/log/postgres.log
표시됨:
DETAIL: The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 13.2.
이란 수정하기
brew postgresql-upgrade-database
그리고 나서 양조와 함께 postresql을 시작했습니다.
brew services start postgresql
이 오류의 원인은 여러 가지가 있으므로 먼저 로그 파일을 찾아 단서를 확인하십시오.에 있을 수도 있습니다./usr/local/var/log/postgres.log
또는/usr/local/var/postgres/server.log
아니면 다른 곳에 있을지도 모릅니다.는 홈루와함설경위찾수있다습에서 확인할 수 .~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
.
Postgre를 시작하려고 연결할 때도 이와 같은 문제가 있었습니다.MacOS Monterey의 SQL 데이터베이스 서버입니다.
아래 명령을 실행하여 Postgre를 다시 시작할 때SQL 데이터베이스 서버:
brew services restart PostgreSQL
다시 시작되지만 Postgre 상태를 확인하려고 하면아래 명령을 사용하는 SQL 데이터베이스 서버에서 오류가 발생했습니다.
Name Status User File
mysql started promisepreston ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
nginx started promisepreston ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
postgresql error 256 root ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
제가 성공한 것은 다음과 같습니다.
먼저, 나는 Postgre의 로그 파일을 확인했습니다.아래 명령을 사용하여 오류의 원인이 무엇인지 SQL 데이터베이스 서버:
cat /usr/local/var/log/postgres.log
OR
nano /usr/local/var/log/postgres.log
로그에 다음 오류가 표시되었습니다.
"root" execution of the PostgreSQL server is not permitted.
The server must be started under an unprivileged user ID to prevent
possible system security compromise. See the documentation for
more information on how to properly start the server.
2022-01-25 19:01:06.051 WAT [29053] FATAL: database files are incompatible with server
2022-01-25 19:01:06.051 WAT [29053] DETAIL: The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 14.1.
루트 실행 오류의 경우 다음 명령을 실행하여 실행할 때 엉망이 된 파일 권한을 수정해야 했습니다.brew services
sudo
명령 접두사.교체하다your-username
의 MacOS 사용자 이름과 (제 제 사용자 은 당의신이나로으름자사이용은름사내자용의경우나▁(os▁with로▁mac▁was이이당은▁yourin▁mac름▁(▁username으)promisepreston
:
# Stop postgresql
sudo brew services stop PostgreSQL
# In case service file is copied to ~/Library/LaunchAgents as well
brew services stop postgresql
# Fix permission of homebrew files
sudo chown -R your-username:admin $(brew --prefix)/*
데이터베이스 파일이 서버와 호환되지 않으므로 기존 Postgre를 업그레이드해야 했습니다.최신 Postgre 버전 13을 사용하여 생성된 SQL 데이터 파일아래 명령을 실행하여 14.1이었던 내 컴퓨터의 SQL 버전:
brew postgresql-upgrade-database
그 후에, 저는 Postgre를 다시 시작했습니다.SQL 데이터베이스 서버:
brew services restart PostgreSQL
그런 다음 아래 명령을 사용하여 상태를 확인합니다.
brew services list
그런 다음 아래의 출력을 통해 모든 것이 정상적으로 작동한다는 것을 알 수 있었습니다.
Name Status User File
mysql started promisepreston ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
nginx started promisepreston ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
postgresql started promisepreston ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
참조:브루 포스트그SQL이 시작되지만 프로세스가 실행되고 있지 않음
저도 비슷한 오류가 있었습니다.
것은됩니다.sudo
가 걸려옴
- 내가 Postgre를 가지고 있다는 것을 확인했습니다. installed SQL (SQL 설치 완료)
psql -V
"V는대니다입자문)다니) - 에 연결하려고 서에연려했습다니고결하.
psql postgres
여기서 스택 오버플로 질문의 오류를 경험했습니다.
가능한 해결책에 대해 조사한 후, 저는 분명히 Postgre를 얻었습니다.SQL이 설치되었지만 기본 서버가 없습니다.
사용자 지정 데이터 디렉토리를 생성해야 했습니다.
사용자 정의 데이터 디렉토리를 만드는 것은 기본 서버를 설치하는 것과 같습니다.
이것은 새로운 기계(애플 m1 칩을 사용하는 맥북 프로 2021)이기 때문에, 저는 가능한 한 가장 쉬운 해결책을 찾고 싶었고, 저는 이 커스텀 데이터 디렉토리가 바로 그것이라고 생각합니다.이 문제를 해결하기 위한 나머지 단계는 다음과 같습니다.
- 에서 빈 .
mkdir myData
- 했습니다.
initdb myData
디렉토리에 (myData 디렉토리에 저장) pg_ctl -D myData -l logfile start
(으)로 표시)psql postgres
으)로 표시)
그래서, Postgre에 꽤 처음 온 사람으로서.SQL, 데이터베이스 및 SQL 일반적으로 다음과 같은 몇 가지 참고 사항이 있습니다.
- 에 대한 을 "수 , "종료"를 사용할 수 .
\q
"를.) - "정지"할 수도 .
pg_ctl -D myData stop
이 시점에서 나는 이제 내가 Postgre를 가지고 있다고 확신합니다.SQL이 설치되고, 시작 및 중지할 수 있는 서버가 있으며, 해당 서버에 연결/연결 해제할 수 있는 기능이 있습니다.
에 가다/var/log/
그리고 도망치는 고양이postgres.log
여기서 우편물 실패의 원인을 찾을 수 있습니다.스마트 종료라면 아마도 당신의icu4c
C++ 라이브러리)이하지 않습니다. 는 음연유버전이결된다(C++ 라리이러브다않니)와 연결되어 .postgres
따라서 다음 명령을 실행합니다.
brew upgrade
brew cleanup
이것은 효과가 있을 것입니다 ;)
저는 이 문제를 해결하기 위해 이 게시물을 여러 번 찾아봐야 했습니다.실행 중인 다른 프로그램과 유사한 문제에도 적용되는 또 다른 해결 방법이 있습니다.
다음 두 가지 명령을 사용할 수 있다는 것을 방금 알았습니다.
$top
현재 실행 중인 모든 작업과 해당 pid 번호가 표시됩니다.postgres 및 관련 pid를 찾을 때
$kill pid_number
를 놓은것과 .ubuntu
) 업데이트를 위해 다음 오류가 발생했습니다.
서버에 연결할 수 없습니다.해당 파일 또는 디렉터리 없음 서버가 로컬에서 실행되고 UNIX 도메인 소켓 "/var/run/postgresql/.s에서 연결을 수락합니다.PGSQL.5432"?
시스템을 다시 시작할 때 업데이트 프로세스를 완료한 후 오류가 사라졌습니다.그리고 그것은 예전처럼 매력적으로 작용합니다.pg가 업데이트를 하다가 다른 프로세스가 시작되면서 이런 일이 발생한 것 같습니다.
슈퍼 뉴비 경고: 저는 웹 개발을 배우고 있는데, 제가 팔로우하고 있던 특정 튜토리얼에서 Postgres를 설치해야 한다고 언급했지만 실제로도 실행해야 한다고 언급하지 않았습니다.일단 내가 Postgres 애플리케이션을 열었을 때 모든 것이 좋았고 멋졌습니다.
@재그디쉬 바라바리의 대답은 이 문제를 해결하는 데 필요한 단서를 주었습니다.postgresql은 하나만 실행되는 동안 두 가지 버전이 설치되었습니다.모든 postgresql 파일을 정리하고 최신 버전을 다시 설치하여 이 문제를 해결했습니다.
LD_LIBRARY_PATH에서 /usr/lib를 제거하고 작동했습니다.저는 도커 파일 postgres:alpine에서 일하고 있었습니다.
이 대답은 저에게 효과가 있었습니다: https://stackoverflow.com/a/45454567/15067545 은 제 우분투 시스템입니다.
명령:sudo service postgresql restart
.
언급URL : https://stackoverflow.com/questions/13573204/psql-could-not-connect-to-server-no-such-file-or-directory-mac-os-x
'source' 카테고리의 다른 글
"작업이 트랜잭션 상태에 대해 유효하지 않습니다." 오류 및 트랜잭션 범위 (0) | 2023.05.05 |
---|---|
후드 아래에서 잠금 문은 무엇을 합니까? (0) | 2023.05.05 |
.NET WPF 세션 간 창 크기 기억 (0) | 2023.05.05 |
모든 디렉토리 및 파일을 재귀적으로 복사하려면 어떻게 해야 합니까? (0) | 2023.04.25 |
Linux python3 - lib 'SQL Server'를 열 수 없습니다. (0) | 2023.04.25 |