서버가 호스트 "localhost"(::1)에서 실행되고 포트 5432에서 TCP/IP 연결을 허용합니까?
우선 Stack Overflow 및 웹 곳곳의 기사에서 몇 가지 유사한 질문을 발견했지만 문제를 해결하는 데 도움이 되는 것은 없었습니다.
- PG 오류가 서버에 연결할 수 없습니다. 연결이 거부되었습니다. 서버가 포트 5432에서 실행되고 있습니까?
- PG::연결 불량 - 서버에 연결할 수 없음: 연결이 거부됨
- psql: 서버에 연결할 수 없음: 연결이 거부됨
자, 여기 문제가 있습니다.
- 저는 매력적으로 작동하는 레일즈 앱을 가지고 있습니다.
- 제 협력자와 함께 GitHub을 사용하여 함께 작업합니다.
- 우리는 있습니다.
master
리고그.mvp
나뭇가지. - 에 제 최근업했다니습트이데를 했습니다.
git
홈브루(Mac)가 포함된 버전입니다. - 우리는 Foreman을 사용하여 앱을 로컬로 시작합니다.
이제 앱을 로컬로 실행하려고 하면 다음 오류가 발생합니다.
PG::ConnectionBad at /
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
컴퓨터를 재부팅하려고 여러 번 시도했습니다.
▁content의 내용도 했습니다./usr/local/var/postgres
:
PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf
base pg_hba.conf pg_notify pg_stat pg_twophase postmaster.opts
global pg_ident.conf pg_replslot pg_stat_tmp pg_xlog server.log
pg_clog pg_logical pg_serial pg_subtrans postgresql.auto.conf
보시피다, 니습없이 .postmaster.pid
거기에 줄을 서세요.
내가 이걸 어떻게 고칠 수 있는지 알아요?
려달을 postgres -D /usr/local/var/postgres
그리고 다음과 같은 것을 볼 수 있습니다.
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 379) running in data directory "/usr/local/var/postgres"?
다음 그럼실을 실행합니다.kill -9 PID
그리고 당신은 가도 좋습니다.
배터리가 부족하여 postgresql 서버가 올바르게 종료되지 않았을 가능성이 높습니다.
가장 쉬운 해결 방법은 공식 postgresql 앱을 다운로드하여 실행하는 것입니다. 그러면 서버가 강제로 시작됩니다(http://postgresapp.com/) .
시스템이 예기치 않게 종료되었기 때문일 가능성이 높습니다.
해라
postgres -D /usr/local/var/postgres
볼 수 있습니다.
FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 449) running in data directory "/usr/local/var/postgres"?
그럼 해보세요.
kill -9 PID
예
kill -9 419
그리고 그것은 정상적으로 postgres를 시작해야 합니다.
postgresql 서버가 다운되고 솔루션이 실행되는 것처럼 간단할 수 있습니다.
sudo service postgresql start
그 문제를 해결해 줬습니다.
예기치 않은 종료로 인해 삭제되지 않은 postgres용으로 생성된 pid 파일이 원인일 수 있습니다.이 문제를 해결하려면 이 pid 파일을 제거하십시오.
directorypostgres 파일을 .홈브루를 사용하는 MAC에서는 다음과 같습니다.
/usr/local/var/postgres/
일 수도 ./usr/var/postgres/
다음을 실행하여 pid 파일 제거:
rm postmaster.pid
진행을 다시 시작합니다.Mac에서 실행:
brew services restart postgresql
postgresql(mac)을 실행하는 Ruby on Rails 애플리케이션에서도 거의 동일한 오류가 발생했습니다.이것은 저에게 효과가 있었습니다.
brew services restart postgresql
제 경우에는 효과가 있었습니다.
brew uninstall postgresql
rm -fr /usr/local/var/postgres/
brew install postgresql
내 Postgre 경우에 Postgre.은 SQL입니다.
13.4
14
백그라운드에서 다음과 같이 수정합니다.brew postgresql-upgrade-database
그렇지 않은 경우 다음과 같이 문제가 해결됩니다.
rm -rf /usr/local/var/postgres/postmaster.pid
또는
rm -rf /opt/homebrew/var/postgres/postmaster.pid
를 다시 시작합니다.
postgresql
:brew services restart postgresql
PS:
당신은 무엇이 문제인지 어떻게 이해할 수 있습니까?
먼저 잘못된 서비스가 시작되었는지 확인합니다.
brew services list
두 번째 쇼 파일의 경우postgres.log
여기서 오류가 발생합니다.
tail -f /usr/local/var/log/postgres.log
또는
tail -f /opt/homebrew/var/log/postgres*
그래서 이 오류의 텍스트로 답을 찾으십시오.
이 명령을 통해 문제를 해결했습니다.
pg_ctl -D /usr/local/var/postgres start
때때로 이 오류가 발생할 수 있습니다.
pg_ctl: another server might be running; trying to start server anyway
따라서 다음 명령을 실행한 다음 위에 지정된 첫 번째 명령을 실행해 보십시오.
pg_ctl -D /usr/local/var/postgres stop
1단계:
cd /etc/postgresql/12/main/
이름이 지정된 열린 파일postgresql.conf
sudo nano postgresql.conf
이 줄을 해당 파일에 추가합니다.
listen_addresses = '*'
그런 다음 파일 이름을 엽니다.pg_hba.conf
sudo nano pg_hba.conf
이 줄을 해당 파일에 추가합니다.
host all all 0.0.0.0/0 md5
암호화된 비밀번호로 모든 사용자가 모든 데이터베이스에 액세스할 수 있습니다.
서버 다시 시작
sudo /etc/init.d/postgresql restart
Django 애플리케이션을 Postgre에 연결하려고 할 때 비슷한 문제가 발생했습니다.SQL 데이터베이스.
는 나의 는나의를 .Dockerfile
Django 프로젝트를 설정하는 지침과 함께 Postgre를 설치하는 지침이 있습니다.SQL 및 my에서 Django 서버 실행docker-compose.yml
.
는 나의 2/2 에서 두 했습니다.docker-compose-yml
.
services:
postgres:
image: "postgres:latest"
environment:
- POSTGRES_DB=abc
- POSTGRES_USER=abc
- POSTGRES_PASSWORD=abc
volumes:
- pg_data:/var/lib/postgresql/data/
django:
build: .
command: python /code/manage.py runserver 0.0.0.0:8004
volumes:
- .:/app
ports:
- 8004:8004
depends_on:
- postgres
불행히도 내가 달릴 때마다docker-compose up
튀어나올 때 합니다.튀어나오곤 했습니다.
그리고 이것이 장고에서 제 데이터베이스가 정의된 방법입니다. settings.py
.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'abc',
'USER': 'abc',
'PASSWORD': 'abc',
'HOST': '127.0.0.1',
'PORT': '5432',
'OPTIONS': {
'client_encoding': 'UTF8',
},
}
}
그래서, 결국 나는 사용했습니다.docker-compose
네트워킹, 즉 내가 변경하면host
를 터베의스이로.postgres
는 서로정다니의에서 됩니다.docker-compose.yml
놀라운 일을 할 것입니다.
그래서, 교체하는 것'HOST': '127.0.0.1'
=> 'HOST': 'postgres'
나에게 놀라운 일을 했습니다.
후 체교후 구방다같법다습의 과 같습니다.settings.py
처럼 보일 것입니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'abc',
'USER': 'abc',
'PASSWORD': 'abc',
'HOST': 'postgres',
'PORT': '5432',
'OPTIONS': {
'client_encoding': 'UTF8',
},
}
}
이렇게 문제를 해결했습니다.
서비스 상태 확인
brew services list
출력은 다음과 같습니다.
Name Status User Plist
postgresql error myuser /Users/myuser/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
unbound stopped
이 경로에서 파일 이름을 변경합니다. 제거할 수도 있습니다.
mv /Users/myuser/Library/LaunchAgents/homebrew.mxcl.postgresql.plist /Users/myuser/Library/LaunchAgents/homebrew.mxcl.postgresql.plist_temp
OS를 재부팅합니다.
sudo reboot
부팅 후에 나는 그것을 시작했습니다.postgresql
그리고 그것은 성공하였다.
brew services start postgresql
- postgresql@10 서비스 디렉터리 찾기
$ ls /usr/local/var/postgresql@10
- 일기
postmaster.pid
그리고 그 파일을 삭제합니다.
$ rm -f postmaster.pid
- 다음을 사용하여 postgres 서비스 다시 시작
$ brew services restart postgresql@10
이것은 나에게 효과가 있었습니다: 실행.
sudo lsof -i :<port_number>
그런 다음 프로세스에 현재 연결된 PID를 표시합니다.
후에 행실후후▁after실sudo kill -9 <PID>
그것이 효과가 없다면, 8376606 사용자가 제공한 솔루션을 사용해 보십시오. 그것은 확실히 효과가 있을 것입니다!
Linux에서 Postgresql을 재시작하려면 다음 명령을 사용해야 합니다.
/etc/init.d/postgresql restart
내 경우에는
- postgresql.conf 파일의 포트를 변경했습니다.
- postgresql 서비스를 다시 시작합니다.
=> service.msc => 다시 시작
- 지금 다시 시도합니다.
먼저 시도했습니다.
lsof -wni tcp:5432이지만 PID 번호가 표시되지 않습니다.
두번째 시도는
Postgres -D /usr/local/var/postgres 서버가 수신 중임을 나타냅니다.
그래서 모든 포트를 복원하기 위해 Mac을 다시 시작했는데 제대로 작동했습니다.
Docker 사용자의 경우:저의 경우 도커 이미지 크기가 너무 커서 발생했습니다.다음을 사용하여 사용하지 않는 데이터를 제거할 수 있습니다.prune
명령:
docker system prune --all --force --volumes
경고: 매뉴얼에 따름docker system prune --help
):
그러면 다음 항목이 제거됩니다.
- 중지된 모든 컨테이너
- 모든 네트워크가 하나 이상의 컨테이너에서 사용되지 않음
- 모든 현란한 이미지
- 모든 중단된 빌드 캐시
창에서 이 문제가 자주 발생합니다. 문제를 해결한 방법은 서비스 - 게시글 클릭입니다.SQL Database Server 8.3 - 두 번째 "로그인" 탭을 클릭하고 첫 번째 줄 "로컬 시스템 계정"을 선택합니다.
또한 Postgre를 중지하는 경우에도 동일한 오류가 발생합니다.SQL 앱.다시 시작하면 됩니다. (포스트그리)SQL 11)
저는 같은 문제에 직면하여 postgresql 서버를 시작할 수 없었고 비밀번호를 주고도 제 db에 접속할 수 없었고 가능한 모든 방법을 동원하고 있습니다.
이 해결책은 저에게 효과가 있었습니다.
Ubuntu 사용자의 경우:명령줄에서 다음 명령을 입력합니다.
1.service --status-all(모든 서비스의 목록과 상태를 제공함).여기서 "+"는 실행을 나타내고 "-"는 서비스가 더 이상 실행되지 않음을 나타냅니다.)
postgresql 상태를 확인하고 "-"인 경우 다음 명령을 입력합니다.
2.systemctl start postgresql(서버 다시 시작)
브라우저에서 postgresql 페이지를 새로 고치면 작동합니다.
Windows 사용자의 경우:
서비스 목록과 postgresql을 마우스 오른쪽 버튼으로 클릭한 후 시작을 클릭하면 서버가 완벽하게 작동하는 서비스를 검색합니다.
저의 경우 데이터베이스를 (생산 중인) postgres에서 개발에 사용하던 sqlite3로 다시 변경하는 것을 잊었습니다.
제게 효과가 있습니다. >> 노드.제이에스앱
user@MacBook-Pro -i의 %sudols : 5430
산출량
명령 PID 사용자 FD 유형 장치 크기/끄기 노드 이름
노드 7885 사용자 21u IPv60x2e7d89f6118f95b90t0 TCP *:radec-corp(LISTEN)
PID 제거
user@MacBook-Pro % sudo kill -97885
한번더 테스트
user@MacBook-Pro -i의 %sudols : 5430
user@MacBook-Pro % "포트 5430에 대해 더 이상 실행 중인 PID 없음"
의 경우,에서 Ruby on Rails라는 했습니다.tmp/pids
시스템을 다시 시작합니다.
같은 문제가 있었습니다.database.yml 파일, (dev 모드) 호스트가 5433을 가리키고 있는지 확인했습니다.제가 5432로 업데이트를 했고 작동했습니다.
누군가가 이것을 필요로 할 때를 대비해서요.windows
계속 읽다
창에서 를 누릅니다.Windows button
+R
입합니다를 입력합니다.services.msc
그리고 찾아보세요postgresql-x64-14
마우스 오른쪽 단추를 클릭하고 클릭합니다.start
그러면 당신의 것으로 돌아가세요.PgAdmin4
을 선택한 창을사경입다니다력합을을 합니다.master password
db 를 정상적으로 할 수 입니다.여기서부터는 평소처럼 db 스키마 보기를 진행할 수 있습니다.
장고의 경우, 장고를 사용하여 합니다.CTR+C
그리고나서python manage.py runserver
환경 으로 간주
행운을 빌어요
ps -ef|grep postgres
그런 다음 PID로 프로세스를 종료합니다.
sudo kill -9 PID
그런 다음 postgresql을 시작합니다.
sudo service postgresql start
저는 @DivyanshuRawats가 제공한 답이 이 오류에 대한 실제 해결책에 더 가깝다고 생각합니다.
2023년 3월 15일 장고 앱에서도 같은 문제가 발생했습니다.그리고 제가 @Divyanshu Rawat의 대답을 보았을 때, 저는 그것을 시도했지만 저에게 효과가 없었습니다.저는 그것이 저에게 효과가 없었던 이유는 그가 설명한 방법이 저를 혼란스럽게 하거나, 정신적으로 포화상태에 이른 제 자신의 조급함 때문일 것이라고 생각합니다.그런데 지금 제가 알고 있는 것을 볼 때, 말이 된다는 것을 감안하면 왜 많이 투표되지 않았는지 의문이 듭니다.
제가 여기 제출한 자료에서, 저는 @DivyanshuRawat의 대답을 조금 더 설명하려고 노력할 것입니다. 같은 문제에 직면한 다른 사람들에게 분명하게 설명할 수 있기를 바라며, 여기서 오류 해결로 이어지는 답을 조사합니다.
참고할 필요가 있습니다.
this error usually occurs when the networks section in your Docker Compose file is not formatted correctly.
the error simply tells you that the service is unable to connect to the PostgreSQL database running in your docker database service, mostly because the hostname in your Django settings.py file is pointing to the web service container itself or something/somewhere else, rather than the docker database service container where the database is running.
이 오류 수정;
당신은 그것을 확실히 해야 합니다.
networks
섹션은 서비스, 볼륨 또는 기타 섹션 외부의 구성 파일의 최상위 수준에서 정의됩니다.또한 다음과 같은 형식으로 구성되어 있는지 확인:mapping
여기서 각 네트워크는 고유한 이름과 함께 나열되며 구성 옵션이 뒤따릅니다.을 지정하는 . 은 "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "docker-compose.yml
파일 이름:version: '3.9' services: web: # ...service configuration networks: - webnet db: # ....service configuration networks: - webnet networks: webnet: driver: bridge
다음과 같이 settings.py 의 데이터베이스 설정에서 "HOST" 매개 변수를 db 서비스 컨테이너의 이름(이 경우 "db")으로 변경합니다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': os.environ.get('POSTGRES_DB'), 'USER': os.environ.get('POSTGRES_USER'), 'PASSWORD': os.environ.get('POSTGRES_PASSWORD'), 'HOST': 'db', # change it to your docker-compose postgres service name. If you look at my own docker-compose.yml file, it is defined as 'db', so I changed this HOST config to 'db' 'PORT': '5432', } }
한 내용을를 재구축하여 실행해 볼 수 있습니다.docker-compose up --build
문제가 해결되는지 확인합니다.이 시점에서, 모든 것이 저에게 효과가 있었습니다.
이러한 상황이 발생할 경우 다음 단계를 수행해야 합니다.
1º스텝
에 로그인 .postgres
사용자:#sudo su postgres
2º스텝
단계를 합니다./opt/PostgreSQL/10/bin/postgres -D /opt/PostgreSQL/10/data -r /usr/local/var/postgres/server.log
설명:
▁at에 있는 합니다./opt/PostgreSQL/10/bin/
당신의 경우에는 다른 것일 수도 있지만 어디에 있는지 확인하세요.
이 단계가 끝나면 -D 옵션을 사용하여 데이터 폴더가 어디에 있는지 postgres 유틸리티에 알려줍니다. 이 데이터 폴더에는 postgres 서버의 필요한 모든 구성이 포함되어 있습니다.
-r은 .stdout
그리고.stderr
제 가 사용한 은 진파일에경, 우파사내, 한일은용가주입니다./usr/local/var/postgres/server.log
참고:
- 저는 Postgre 10을 사용하고 있습니다.
- 리눅스 우분투
언급URL : https://stackoverflow.com/questions/37307346/is-the-server-running-on-host-localhost-1-and-accepting-tcp-ip-connections
'programing' 카테고리의 다른 글
로컬 변경 사항이 있더라도 git push에 "모든 것이 최신"으로 표시됩니다. (0) | 2023.06.01 |
---|---|
메인 스레드에서 작업을 수행하기 위한 GCD (0) | 2023.06.01 |
jQuery를 사용하여 다단계 양식 재설정 (0) | 2023.06.01 |
VBA 내에서 Excel에서 시트의 데이터를 새로 고치는 중 (0) | 2023.06.01 |
루비 - 아직 배열이 아닌 경우 변수를 배열로 우아하게 변환합니다). (0) | 2023.06.01 |