psql
Vagrant 컴퓨터에서 실행하려고 하는데이 오류가 발생합니다.
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의 잘못된 구성과 관련이 있으며, 이로 인해 서버가 시작되기 전에 충돌이 발생합니다.
다음 지침을 따르는 것이 좋습니다.
- 다음을 사용하여 postgresql 서비스가 실행 중인지 확인합니다.
sudo service postgresql start
pg_lsclusters
터미널에서 실행-
실행중인 클러스터가 무엇인지 확인합니다. 출력은 다음과 같아야합니다.
버전-클러스터 포트 상태 소유자 데이터 디렉토리
9.6 ——- 메인-5432 온라인 postgres /var/lib/postgresql/9.6/main
‘—‘기호는 정렬을 위해서만 사용되므로 무시하십시오. 중요한 정보는 버전과 클러스터입니다. 상태 열에서 서버가 실행 중인지 여부를 확인할 수도 있습니다.
- 버전 및 클러스터에서 정보를 복사하고 다음과 같이 사용하십시오.
pg_ctlcluster <version> <cluster> start
, 제 경우에는 버전 9.6 및 클러스터 ‘main’을 사용하여pg_ctlcluster 9.6 main start
- 뭔가 잘못된 경우 postgresql은에서 액세스 할 수있는 로그를 생성
/var/log/postgresql/postgresql-<version>-main.log
하므로 제 경우에는 전체 명령이sudo nano /var/log/postgresql/postgresql-9.6-main.log
. - 출력에 오류 내용이 표시되어야합니다.
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를로드 할 수 없습니다. - 오류를 수정하고 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
그것을 해결하기 위해.