[postgresql] Psql이 서버에 연결할 수 없습니다 : 해당 파일이나 디렉터리가 없습니다. 5432 오류가 발생합니까?

psqlVagrant 컴퓨터에서 실행하려고 하는데이 오류가 발생합니다.

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"?

참고 : Vagrant 1.9.2 상자 : ubuntu / trusty64, https://atlas.hashicorp.com/ubuntu/boxes/trusty64


postgres를 설치하고 실행하기 위해 사용한 편집 명령 :

  • sudo apt-get update
  • sudo apt-get install postgresql
  • sudo su postgres
  • psql -d postgres -U postgres


답변

내 pg_hba.conf 파일 ()의 구성과 관련된 동일한 문제가 발생했습니다 /etc/postgresql/9.6/main. 9.6은 내가 사용중인 postgresql 버전입니다.

오류 자체는 postgresql의 잘못된 구성과 관련이 있으며, 이로 인해 서버가 시작되기 전에 충돌이 발생합니다.

다음 지침을 따르는 것이 좋습니다.

  1. 다음을 사용하여 postgresql 서비스가 실행 중인지 확인합니다. sudo service postgresql start
  2. pg_lsclusters터미널에서 실행
  3. 실행중인 클러스터가 무엇인지 확인합니다. 출력은 다음과 같아야합니다.

    버전-클러스터 포트 상태 소유자 데이터 디렉토리

    9.6 ——- 메인-5432 온라인 postgres /var/lib/postgresql/9.6/main

    ‘—‘기호는 정렬을 위해서만 사용되므로 무시하십시오. 중요한 정보는 버전과 클러스터입니다. 상태 열에서 서버가 실행 중인지 여부를 확인할 수도 있습니다.

  4. 버전 및 클러스터에서 정보를 복사하고 다음과 같이 사용하십시오.
    pg_ctlcluster <version> <cluster> start, 제 경우에는 버전 9.6 및 클러스터 ‘main’을 사용하여pg_ctlcluster 9.6 main start
  5. 뭔가 잘못된 경우 postgresql은에서 액세스 할 수있는 로그를 생성 /var/log/postgresql/postgresql-<version>-main.log하므로 제 경우에는 전체 명령이 sudo nano /var/log/postgresql/postgresql-9.6-main.log.
  6. 출력에 오류 내용이 표시되어야합니다.

    2017-07-13 16:53:04 BRT [32176-1] LOG : 잘못된 인증 방법 “all”

    2017-07-13 16:53:04 BRT [32176-2] CONTEXT : 구성 파일의 90 행 “/ etc /postgresql/9.5/main/pg_hba.conf “

    2017-07-13 16:53:04 BRT [32176-3] 치명적 : pg_hba.conf를로드 할 수 없습니다.

  7. 오류를 수정하고 postgresql 서비스를 다시 시작 sudo service postgresql restart하면 괜찮습니다.

나는 이것을 찾기 위해 많은 것을 검색했으며 신용은이 게시물 로 이동합니다 .

행운을 빕니다!


답변

나는 같은 문제가 있었지만 여기에 대답이 도움이되지 않았습니다.

수정 방법 (Mac)

  • postgresql을 시작하십시오. pg_ctl -D /usr/local/var/postgres start
  • 와 같은 오류 메시지 를 찾습니다 FATAL: could not open directory "pg_tblspc": No such file or directory.
  • 누락 된 디렉토리 생성 mkdir /usr/local/var/postgres/pg_tblspc
  • 누락 된 모든 디렉토리를 만들 때까지 1 단계부터 반복합니다.
  • 완료되면 postgresql을 다시 시작하려고하면 다음과 같이 말할 수 있습니다 .FATAL: lock file "postmaster.pid" already exists
  • postmaster.pid 삭제 :rm /usr/local/var/postgres/postmaster.pid
  • 다음을 사용하여 postgres를 시작하십시오. pg_ctl -D /usr/local/var/postgres start
  • 완료 ✨

답변

나는이 질문을 발견했을 때처럼 길을 잃고 절망감을 느끼는 사람을 위해 이것을 게시하고 있습니다. 때때로 psotgresql 관련 구성 파일을 편집하면 실수로 파일의 권한을 변경할 수 있습니다.

여기에 이미지 설명 입력

pg_hba.conf가 어떻게 루트에 속해 있는지, 사용자는 그것을 읽을 수도 없습니다. 이로 인해 postgres가이 파일을 열 수 없으므로 서버를 시작할 수 없으며 원래 질문에 표시된 오류가 발생합니다.

달리기

sudo chmod +r pg_hba.conf

이 파일을 postgres 사용자가 다시 한 번 액세스 할 수 있도록 한 다음 실행 한 후

sudo service postgresql start

서버를 다시 실행할 수있었습니다.


답변

/etc/postgresql/9.6/main/postgresql.conf할당 된 포트가 표시 됩니까 ? 내 기본 Xubuntu Linux 설치에서 내 기억할 수있는 한 최선의 이유로 port = 5433이 표시되었지만 동일한 파일 listen_addresses = 'localhost'에서 행을 주석 처리하고 주석 처리를 제거했습니다 listen_addresses = '*'. 그래서 시작하고 거기에서 확인하십시오. 도움이 되었기를 바랍니다.


답변

사용 명령 :

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8


답변

이것은 나를 위해 작동합니다.

pg_ctl -D /usr/local/var/postgresql@9.6 stop;
brew services stop postgresql@9.6;
brew services start postgresql@9.6;


답변

이 두 단계는 Mac에서 나를 위해 해결했습니다.

rm /usr/local/var/postgres/postmaster.pid
brew services restart postgresql

편집하다:

이 문제에 직면 한 경우 (@ luckyguy73에 의해보고 됨) : psql: FATAL: database "postgresql" does not exist

당신은 실행할 수 있습니다

brew postgresql-upgrade-database

그것을 해결하기 위해.