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"?의 대응


오랜만에 Rails 애플리케이션을 시작했는데 오류가 발생했기 때문에 원인을 찾아갔어요.

deepl로 번역했어요.
서버에 연결할 수 없습니다: 이런 파일이나 디렉터리가 없습니다.서버가 로컬로 실행되고 Unix 도메인 소켓 "/tmp/.s.PGSQL.532"의 연결을 받아들입니까?
문제에 해답하다
  • 서버에 연결할 수 없음
  • 파일, 디렉토리 없음
  • 서버가 로컬에서 작동하는지 여부, 도메인 이름은/tmp/입니다.s.PGSQL.5432인가
  • 엔지니어로서 초보자이기 때문에 이 순서대로 해답하다
    풀다
    서버에 접속할 수 없음 => 서버가 시작되었는지 여부
    서버의 상태 확인에는 시스템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@13rails db:createrails 서버에 오류 없이 들어갈 수 있지만 이전의 표 데이터는 없습니다.괜찮겠어요?
    이거 정답 아니에요?
    문장을 한층 더 인용하다.
    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
    

    좋은 웹페이지 즐겨찾기