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.5432"?의 대응
7046 단어 초학자Rails5brewPostgreSQL
오랜만에 Rails 애플리케이션을 시작했는데 오류가 발생했기 때문에 원인을 찾아갔어요.
deepl로 번역했어요.
서버에 연결할 수 없습니다: 이런 파일이나 디렉터리가 없습니다.서버가 로컬로 실행되고 Unix 도메인 소켓 "/tmp/.s.PGSQL.532"의 연결을 받아들입니까?
문제에 해답하다
풀다
서버에 접속할 수 없음 => 서버가 시작되었는지 여부
서버의 상태 확인에는 시스템ctl 등의 명령이 있는 것 같지만 현재 단계에서는 자신의 Mac를 사용할 수 없습니다
홈brew에서 다운로드한 PostgreSQL이기 때문에 DB 서버의 시작 상태를 확인하십시오
% brew services list
Name Status User File
emacs none
[email protected] none
postgresql error 256 hogehoge ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
postgresql@12 none
postgresql@13 none
unbound none
여기 기사.Homebrew Services 관리 서비스 사용
의 설명, 참조
Plaist 표시줄이 있습니다. 서비스 start 이후plist는 LaunchAgents 디렉터리 등으로 복사되며, 자동으로 시작할 때 명령을 읽고 시작합니다.
오류 발생, 중지
brew services
입력 명령brew services stop postgresql
postgresql
에서 psql -V
말하자면 iterm2 터미널 대신 사용하기 좋은 패션 제품을 도입하기 위해 홈brew를 Update로 사용하는 것이 이상하다.Posgre의 14가 새롭죠?psql (PostgreSQL) 14.1
브라우저 재확인데이터베이스가 없어서 오류가 발생한 것 같습니다.
실행
brew services start postgresql@13
및 rails db:create
rails 서버에 오류 없이 들어갈 수 있지만 이전의 표 데이터는 없습니다.괜찮겠어요?이거 정답 아니에요?
문장을 한층 더 인용하다.
Homebrew에 설치된postgresql이 시작되지 않았는지 확인했습니다
아니면 예전에 포스터 레벨업 했을 때도 많은 보살핌을 받았어요.
먼저
rails db:migrate
% brew info postgresql
postgresql: stable 14.1 (bottled), HEAD
Object-relational database system
https://www.postgresql.org/
/usr/local/Cellar/postgresql/14.1_1 (3,304 files, 45MB) *
Poured from bottle on 2022-01-24 at 23:50:17
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/postgresql.rb
License: PostgreSQL
==> Dependencies
Build: pkg-config ✔
Required: icu4c ✔, krb5 ✔, [email protected] ✔, readline ✔
==> Options
--HEAD
Install HEAD version
==> Caveats
To migrate existing data from a previous major version of PostgreSQL run:
brew postgresql-upgrade-database
This formula has created a default database cluster with:
initdb --locale=C -E UTF-8 /usr/local/var/postgres
For more details, read:
https://www.postgresql.org/docs/14/app-initdb.html
To restart postgresql after an upgrade:
brew services restart postgresql
Or, if you don't want/need a background service you can just run:
/usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres
==> Analytics
install: 90,012 (30 days), 351,492 (90 days), 1,536,916 (365 days)
install-on-request: 86,592 (30 days), 338,228 (90 days), 1,470,528 (365 days)
build-error: 38 (30 days)
여기 중요한 일이 적혀 있네.==> Caveats
To migrate existing data from a previous major version of PostgreSQL run:
brew postgresql-upgrade-database
이전 주요 버전의 PostgreSQL에서 기존 데이터를 전송하려면 다음과 같이 하십시오.brew info postgresql
데이터 전송은 이렇게 할 수 있습니까?아까 테이블이 없었던 문제를 해결할 수 있을 거라고 기대합니다.이전에 시작 중인postgresql@13그런데 info로.
% brew info postgresql@13
postgresql@13: stable 13.5 (bottled) [keg-only]
Object-relational database system
https://www.postgresql.org/
/usr/local/Cellar/postgresql@13/13.5_1 (3,233 files, 42.8MB)
Poured from bottle on 2022-01-26 at 08:06:31
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/[email protected]
License: PostgreSQL
==> Dependencies
Build: pkg-config ✔
Required: icu4c ✔, krb5 ✔, [email protected] ✔, readline ✔
==> Caveats
Previous versions of this formula used the same data directory as
the regular PostgreSQL formula. This causes a conflict if you
try to use both at the same time.
In order to avoid this conflict, you should make sure that the
postgresql@13 data directory is located at:
/usr/local/var/postgresql@13
This formula has created a default database cluster with:
initdb --locale=C -E UTF-8 /usr/local/var/postgresql@13
For more details, read:
https://www.postgresql.org/docs/13/app-initdb.html
postgresql@13 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have postgresql@13 first in your PATH, run:
echo 'export PATH="/usr/local/opt/postgresql@13/bin:$PATH"' >> ~/.zshrc
For compilers to find postgresql@13 you may need to set:
export LDFLAGS="-L/usr/local/opt/postgresql@13/lib"
export CPPFLAGS="-I/usr/local/opt/postgresql@13/include"
For pkg-config to find postgresql@13 you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/postgresql@13/lib/pkgconfig"
To restart postgresql@13 after an upgrade:
brew services restart postgresql@13
Or, if you don't want/need a background service you can just run:
/usr/local/opt/postgresql@13/bin/postgres -D /usr/local/var/postgresql@13
==> Analytics
install: 8,844 (30 days), 36,310 (90 days), 50,579 (365 days)
install-on-request: 8,821 (30 days), 36,261 (90 days), 50,507 (365 days)
build-error: 1 (30 days)
postgresql@13시작했어, 이제 Path의 14.1로 다시 도전하고 싶어.일단 정지
brew postgresql-upgrade-database
하면 rails의 응용 프로그램은 첫 번째 축소 상태에 있습니다.때리다
% brew postgresql-upgrade-database
Error: /usr/local/var/postgres.old already exists!
Remove it if you want to upgrade data automatically.
오류가 발생했습니다.postgres.old 삭제기사 참조: PostgreSQL DB 업그레이드 용이
이름을 바꾸는 것도 괜찮을 것 같아서 먼저 이름을 바꾸자
다시 실행
brew services stop postgresql@13
Upgrade Complete
----------------
Optimizer statistics are not transferred by pg_upgrade.
Once you start the new server, consider running:
/usr/local/opt/postgresql/bin/vacuumdb --all --analyze-in-stages
Running this script will delete the old cluster's data files:
./delete_old_cluster.sh
==> Upgraded postgresql data from 13 to 14!
==> Your postgresql 13 data remains at /usr/local/var/postgres.old
로그는 생략했지만 데이터를 무사히 옮긴 것 같습니다.이름이 바뀐 파일이 남았습니다.
/usr/local/var/
% ls
cache log postgres postgres_re.old postgresql@13
homebrew mysql postgres.old postgresql@12
Reference
이 문제에 관하여(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.5432"?의 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/toshihiro-inoue/items/30e9d2054c58fe37447f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)