programing

PG::연결 불량 - 서버에 연결할 수 없음: 연결이 거부됨

batch 2023. 5. 1. 20:41
반응형

PG::연결 불량 - 서버에 연결할 수 없음: 연결이 거부됨

레일 4.0 서버를 실행할 때마다 이 출력이 표시됩니다.

Started GET "/" for 127.0.0.1 at 2013-11-06 23:56:36 -0500

PG::ConnectionBad - 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?
could not connect to server: Connection refused
Is the server running on host "localhost" (fe80::1) and accepting
TCP/IP connections on port 5432?
:
 activerecord (4.0.0) lib/active_record/connection_adapters/postgresql_adapter.rb:825:in `connect'
 activerecord (4.0.0) lib/active_record/connection_adapters/postgresql_adapter.rb:542:in `initialize'
 activerecord (4.0.0) lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:440:in `new_connection'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:450:in `checkout_new_connection'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `acquire_connection'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:356:in `block in checkout'
 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:355:in `checkout'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
 activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:546:in `retrieve_connection'
 activerecord (4.0.0) lib/active_record/connection_handling.rb:79:in `retrieve_connection'
 activerecord (4.0.0) lib/active_record/connection_handling.rb:53:in `connection'
 activerecord (4.0.0) lib/active_record/migration.rb:792:in `current_version'
 activerecord (4.0.0) lib/active_record/migration.rb:800:in `needs_migration?'
 activerecord (4.0.0) lib/active_record/migration.rb:379:in `check_pending!'
 activerecord (4.0.0) lib/active_record/migration.rb:366:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
 activesupport (4.0.0) lib/active_support/callbacks.rb:373:in `_run__1613334440513032208__call__callbacks'
 activesupport (4.0.0) lib/active_support/callbacks.rb:80:in `run_callbacks'
 actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/reloader.rb:64:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
 better_errors (0.9.0) lib/better_errors/middleware.rb:84:in `protected_app_call'
 better_errors (0.9.0) lib/better_errors/middleware.rb:79:in `better_errors_call'
 better_errors (0.9.0) lib/better_errors/middleware.rb:56:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
 railties (4.0.0) lib/rails/rack/logger.rb:38:in `call_app'
 railties (4.0.0) lib/rails/rack/logger.rb:21:in `block in call'
 activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `block in tagged'
 activesupport (4.0.0) lib/active_support/tagged_logging.rb:25:in `tagged'
 activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `tagged'
 railties (4.0.0) lib/rails/rack/logger.rb:21:in `call'
 quiet_assets (1.0.2) lib/quiet_assets.rb:18:in `call_with_quiet_assets'
 actionpack (4.0.0) lib/action_dispatch/middleware/request_id.rb:21:in `call'
 rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
 rack (1.5.2) lib/rack/runtime.rb:17:in `call'
 activesupport (4.0.0) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
 rack (1.5.2) lib/rack/lock.rb:17:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/static.rb:64:in `call'
 railties (4.0.0) lib/rails/engine.rb:511:in `call'
 railties (4.0.0) lib/rails/application.rb:97:in `call'
 rack (1.5.2) lib/rack/content_length.rb:14:in `call'
 thin (1.5.1) lib/thin/connection.rb:81:in `block in pre_process'
 thin (1.5.1) lib/thin/connection.rb:79:in `pre_process'
 thin (1.5.1) lib/thin/connection.rb:54:in `process'
 thin (1.5.1) lib/thin/connection.rb:39:in `receive_data'
 eventmachine (1.0.3) lib/eventmachine.rb:187:in `run'
 thin (1.5.1) lib/thin/backends/base.rb:63:in `start'
 thin (1.5.1) lib/thin/server.rb:159:in `start'
 rack (1.5.2) lib/rack/handler/thin.rb:16:in `run'
 rack (1.5.2) lib/rack/server.rb:264:in `start'
 railties (4.0.0) lib/rails/commands/server.rb:84:in `start'
 railties (4.0.0) lib/rails/commands.rb:78:in `block in <top (required)>'
 railties (4.0.0) lib/rails/commands.rb:73:in `<top (required)>'
 bin/rails:4:in `<main>'

저는 매버릭스 OS X 10.9를 실행하고 있기 때문에 그것이 문제인지 모르겠습니다.할 수 있는 건 다 해봤지만 아무 것도 안 되는 것 같아요.나는 지금 postgres와 pgem을 모두 제거하고 설치한 적이 여러 번 있습니다.

이것은 나의 database.yml 파일입니다.

development:
  adapter: postgresql
  encoding: unicode
  database: metals-directory_development
  pool: 5
  username: 
  password: 
  template: template0
  host: localhost
  port: 5432

test: &test
  adapter: postgresql
  encoding: unicode
  database: metals-directory_test
  pool: 5
  username: 
  password: 
  template: template0
  host: localhost
  port: 5432

staging:
  adapter: postgresql
  encoding: unicode
  database: metals-directory_production
  pool: 5
  username:
  password:
  template: template0
  host: localhost

production:
  adapter: postgresql
  encoding: unicode
  database: metals-directory_production
  pool: 5
  username:
  password:
  template: template0
  host: localhost

cucumber:
  <<: *test

오래된 PID 파일처럼 간단할 수 있습니다.컴퓨터가 종료 프로세스를 완전히 완료하지 않았기 때문에 자동으로 오류가 발생할 수 있습니다. 이는 postgresPID(프로세스 ID) 파일을 삭제하지 않았음을 의미합니다.

PID 파일은 서버 인스턴스가 한 번에 하나만 실행되도록 하기 위해 postgres에서 사용됩니다.따라서 서버가 다시 시작되면 서버의 다른 인스턴스가 시작되었음을 알려주는 PID 파일이 이미 있기 때문에 실패합니다(실행 중이 아님에도 불구하고 PID를 종료하고 삭제하지 않았습니다).

  1. 수정하려면 PID 파일을 제거/이름 변경합니다. directorypostgres 파일을 .에서는 홈에루사를는 macOS서는같다습니에 ./usr/local/var/postgres/또는/usr/local/var/log/일 수도 ./usr/var/postgres/에서는 M1, 아도일 수 ./opt/homebrew/var/postgresql.
  2. 파일로그 파일)을합니다.server.log) 과 같이

FATAL: "postmaster.pid" 파일입니다.
힌트: 데이터 디렉토리 "/usr/local/var/postgres"에서 다른 포스트마스터(PID 347)가 실행되고 있습니까?

  1. 그렇다면,rm postmaster.pid

  2. 서버를 다시 시작합니다.launchctl(홈브루 포함)을 사용하는 Mac에서 다음 명령을 실행하면 서버가 다시 시작됩니다.

    brew services restart postgresql
    

또는 이전 버전의 브루에서.

    launchctl unload homebrew.mxcl.postgresql.plist  
    launchctl load -w homebrew.mxcl.postgresql.plist

Postgresql 서버를 다시 시작해야 합니다.

unbuntu를 사용하는 경우 다음 명령을 사용하여 Postgresql을 다시 시작할 수 있습니다.

sudo service postgresql restart

Chris Slade의 답변에 따라 문제를 해결했지만 서버를 다시 시작하려면 다음 명령을 사용해야 했습니다.

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

내가 여기서 찾은 것 (아래쪽에 있는 방해자의 대답)

  1. 제거 페이지:

    gem uninstall pg
  2. 게시물 제거:

    brew uninstall postgres
  3. 오래된 내용으로 남아 있을 수 있는 postgres 폴더를 nuke합니다.

    rm -rf /usr/local/var/postgres
  4. 재부팅(불필요할 수 있음)

  5. 페이지 다시 설치:

    brew install postgres
  6. Chris Slade의 답변에 대한 제 의견은 어려운 방식으로 시작합니다. 이제 저는 제 삶을 매우 많은 방식으로 간소화한 양조 서비스를 사용합니다.

    brew install services
  7. 그리고 그것으로 페이지를 시작합니다.

    brew services start postgresql
  8. 보석을 다시 설치합니다.

    gem install pg

그리고 삼촌을 봅시다.

시스템에 postgresql이 설치되어 있습니까?그렇지 않은 경우 postgresql 설치를 확인합니다.postgresql을 시스템에 성공적으로 통합한 후 시스템 터미널에 다음과 같은 것을 입력할 수 있습니다.

which psql
#=> /usr/bin/psql

그런 다음 postgresql에 다음과 같은 사용자 및 데이터베이스를 생성해야 합니다.

sudo su - postgres
psql

그러면 터미널 내에서 다음을 볼 수 있습니다.

postgres=#

입력 위치:

CREATE USER yourname WITH PASSWORD 'passwordhere';
CREATE DATABASE metals-directory_production  WITH OWNER yourname;
GRANT ALL PRIVILEGES ON DATABASE metals-directory_production TO yourname;

한 후에 은 이작업을한수후다작수합야니다정해업을음행▁your합다니▁after▁to▁correct▁then야를 수정해야 합니다.database.yml아마도 다음과 같은 것이 필요할 것입니다.

development:
  adapter: postgresql
  encoding: unicode
  database: metals-directory_development
  pool: 5
  username: yourname
  password: passwordhere   ### password you have specified within psql
  host: localhost
  port: 5432               ### you can configure it in file postgresql.conf

또한 postgresql에 문제가 있다면 pg_hba.conf를 확인하는 것이 좋습니다.

Postgres에서 이러한 유형의 문제를 해결하고 Postgres에서 작업하기Mac OSX이것이 제가 지금까지 찾은 솔루션 중 가장 좋고 쉬운 솔루션일 것입니다.

http://postgresapp.com/

그냥 다운로드하고 설치하고 행복하세요 :)

postgresql.conf 파일을 확인합니다.ubuntu/etc/postgresql/X에 있습니다.X/main/postgresql.conf)를 선택하고 다음과 같은 행을 찾습니다.

listen_addresses="localhost"

다음으로 변경해 보십시오.

listen_addresses="*"

모든 IP를 수락하는 것입니다. 다음은 다음과 같은 행을 확인하십시오.

port=5432

그리고 데이터베이스의 동일한 포트가 있는지 확인합니다.yml. 기본적으로 내 postgresql-9.2에서 5432 대신 5433을 사용하십시오. postgres 서버를 다시 시작하는 을 잊지 마십시오.

행운을 빕니다.

@Magne이 설명한 것처럼 오류는PG::ConnectionBad - could not connect to server: Connection refused메이저/오디오 버전 업그레이드 후에 표시할 수 있습니다(예:9.5 -> 9.6또는9 -> 10)SQL.

▁run▁having다▁after를 실행한 후에 이 했습니다.brew upgrade postgresql Postgre 매후의 .SQL 버 9.6.문제는 주/부 버전 업그레이드에는 이전 버전을 새 버전으로 마이그레이션하기 위한 추가 단계가 필요하다는 것입니다.

이것이 당신의 문제인지 확인하는 방법

이것이 문제인지는 최신 브루 포뮬라 Postgre를 통해 확인할 수 있습니다.홈브루와 함께 설치된 SQL 버전...

$ brew info postgresql

/usr/local/Cellar/postgresql/9.5.4_1 (3,147 files, 35M)
Poured from bottle on 2016-10-14 at 13:33:28
/usr/local/Cellar/postgresql/9.6.1 (3,242 files, 36.4M) *
Poured from bottle on 2017-02-06 at 12:41:00

...현재 PG_VERSION과 비교합니다.

$ cat /usr/local/var/postgres/PG_VERSION
9.5

PG_VERSION이 최신 양조 공식보다 작고 차이가 큰 버전/작은 버전 변경인 경우 이는 아마도 당신의 문제일 것입니다.

수정 방법(예: 데이터 업그레이드 방법)

아래 지침은 9.5에서 9.6으로 업그레이드하기 위한 것입니다.자신의 업그레이드에 적합한 버전 번호 변경

1단계. Postgre 확인SQL이 꺼져 있습니다.

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
# or, with Homebrew...
$ brew services stop postgresql

2단계. 기본 데이터베이스를 새로 만듭니다.

$ initdb /usr/local/var/postgres9.6 -E utf8

3단계. 이전 및 새 이진 버전이 무엇인지 확인합니다.

$ ls /usr/local/Cellar/postgresql/
9.5.3   9.5.4   9.6.1

이 예에서는 9.5.4 이진에서 9.6.1 이진으로 업그레이드합니다.

4단계. pg_upgrade 유틸리티를 사용하여 현재 데이터를 새 데이터베이스로 마이그레이션합니다.

$ pg_upgrade \
  -d /usr/local/var/postgres \
  -D /usr/local/var/postgres9.6 \
  -b /usr/local/Cellar/postgresql/9.5.4/bin/ \
  -B /usr/local/Cellar/postgresql/9.6.1/bin/ \
  -v
  • -d 플래그를 합니다.
  • -D할 새 합니다. 플래그는 입니다.
  • -b합니다.
  • -B새 합니다.

5단계. 이전 데이터 디렉토리를 이동합니다.

$ mv /usr/local/var/postgres /usr/local/var/postgres9.5

6단계. 새로 생성된 데이터 디렉토리를 Postgre의 위치로 이동합니다.SQL은 다음과 같이 예상합니다.

$ mv /usr/local/var/postgres9.6 /usr/local/var/postgres

7단계. Postgre 시작다시 SQL

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
# or, if you're running a current version of Homebrew
$ brew services start postgresql

8단계. Rails용 페이지 보석을 사용하는 경우 보석을 제거했다가 다시 설치하여 다시 컴파일해야 합니다(페이지 보석을 사용하지 않는 경우 이 단계를 건너뜁니다).

$ gem uninstall pg
$ gem install pg

9단계.(선택 사항) 모든 것이 정상적으로 작동함을 확인한 후 다음 명령을 사용하여 일부 디스크 공간을 다시 확보할 수 있습니다.

brew cleanup postgresql

...그리고 만약 당신이 정말로 용감하다고 느낀다면, 당신은 이전의 포스트그레를 삭제할 수 있습니다.다음 명령을 사용하는 SQL 데이터 디렉토리

rm -rf /usr/local/var/postgres9.5/

(이 답변은 우수한 블로그 게시물 https://keita.blog/2016/01/09/homebrew-and-postgresql-9-5/를 기반으로 합니다.)

Osx Movaje에서 Mac을 업데이트한 후에도 동일한 문제가 발생했습니다.

나는 이 해결책을 찾았습니다:

터미널에서 먼저 다음 명령행을 시도합니다.

brew services restart postgresql

아무것도 변경되지 않는 경우:

ps aux | grep postgres

여전히 아무런 변화가 없는 경우:

ls -ls | grep post

마지막으로 수정한 명령은 루트에서 실행하여 postgres 잠금 파일을 제거했습니다.

rm /usr/local/var/postgres/postmaster.pid

그런 다음:

brew services restart postgresql

berziii에서 : https://github.com/ga-wdi-boston/capstone-project/issues/325

그것이 도움이 되기를 바랍니다 :)

잘 부탁드립니다!!

이것이 제게 진정으로 도움이 된 것입니다.

$ cd /usr/local/var/postgres/
$ rm postmaster.pid

참조: http://alumni.lewagon.org/questions/60

Postgres 파일수있는파찾습다니에 있을 수./usr/local/var/postgres/또는 안에/usr/var/postgres/ 삭제합니다.postmaster.pid파일이 해당 폴더에 있습니다.

위에서 제안한 바와 같이, 나는 방금 맥에서 Postgres 앱을 열고 열기를 클릭했습니다.Psql을 .psql창에서 터미널의 레일 서버를 다시 시작하고 다시 작동했습니다. 더 이상 오류가 발생하지 않았습니다.

코끼리를 믿으세요: http://postgresapp.com/

놓다host: localhostdatabase.yml파일을 작성하고 다음 명령을 실행합니다.

rake db:create db:migrate  

만약 당신이 한 후에 이 문제에 부딪힌다면,brew upgrade 버전 포스그스으를버새메전로다(F.ex)으로 한.9.3.09.4.0또는 그 이상), 다음을 수행합니다.

@http://https://github.com/Homebrew/homebrew/issues/35240 에서 제공하는 crygusev의 수정 사항.

공식 [Postgresql] 마이그레이션 가이드를 따르는 것이 도움이 되었습니다.

brew switch postgres 9.3.5    # presuming you already installed 9.4.1
pg_dumpall > outputfile
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
mv /usr/local/var/postgres /usr/local/var/postgres.old
brew switch postgres 9.4.1
initdb -D /usr/local/var/postgres
psql -d postgres -f outputfile

이상입니다.가져오기가 제대로 수행되었는지 확인한 다음 백업을 삭제합니다.

rm outputfile
rm -Rf /usr/local/var/postgres.old

여기서 문제는 postgres의 주요 버전 업그레이드에서는 데이터베이스를 다시 생성/마이그레이션해야 한다는 것입니다. 아마도 리고아마도그.chown으로 호출initdb.

참고 항목:Postgre 업그레이드 방법데이터 손실 없이 버전 9.6에서 버전 10.1로 SQL을 변경하시겠습니까?


홈브루를 사용하지 않는 경우 유용하게 사용할 수 있는 몇 가지 다른 팁:

PG 서버 수동 중지:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log stop

수동으로 PG 서버 시작:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

이것은 (홈브루를 통해) Postgres를 업그레이드한 후에 저에게 발생했습니다.버전 12에서 13으로 업그레이드했습니다.

이 경우 실행해 보십시오.postgres -D /usr/local/var/postgres출력을 확인합니다.내 경우에는 다음과 같이 명시되어 있습니다.database files are incompatible with server.

postgres.old가 이미 있다는 오류 메시지가 표시될 수 있음

Error: /usr/local/var/postgres.old already exists!

이 문제를 해결하려면 해당 파일을 제거하십시오.

rm -rf /usr/local/var/postgres.old

데이터베이스를 수정하는 것은 실행하는 것만큼 간단했습니다.

brew postgresql-upgrade-database

를 제거하는 postmaster.pid문제가 해결되지 않습니다. 이것은 저에게 효과가 있었습니다.

cd /usr/local/var/
rm -rf postgres/
mkdir postgres
initdb --locale=C -E UTF-8 postgres/
brew services restart postgresql

스레드에 대한 @spirito_libero의 솔루션 덕분입니다.

Postgres 앱이 있는 Mac 사용자는 애플리케이션을 열고 싶을 수 있습니다(스포트라이트가 Postgres를 검색하거나 메뉴 바에서 코끼리 아이콘을 찾습니다).여기에는 "Stale postmaster.pid file"이라는 메시지와 함께 빨간색 X가 표시될 수 있습니다.안타깝게도 스포트라이트 검색은 이 파일의 위치를 표시하지 않습니다."서버 설정..."을 누른 후 열린 대화상자에서 "표시" 단추를 눌러 데이터 디렉토리를 엽니다. "합니다("var-10").postmaster.pidjava.

Postgres 앱으로 돌아가서 시작 버튼을 클릭합니다.빨간색 X가 "Running" 메시지와 함께 녹색 체크 표시로 바뀌어야 합니다. 이다과같은음명을령성공있수다니와 같은 할 수 .rails server종착역에서

Postgres App Server 설정 - 데이터 디렉토리 표시

저는 오늘 밤 제가 한동안 작업했던 철도 애플리케이션을 작업하면서 이 문제를 겪었습니다.제 문제는 postgresql 서버가 실행되고 있지 않다는 것입니다.

화면 맨 위로 이동하여(Mac에 있습니다) 작은 코끼리 아이콘을 클릭하고 '시작'을 클릭했습니다.

서버가 켜져 있지 않았습니다.

이것이 누군가를 위한 간단한 해결책을 제공하기를 바랍니다.

저는 위의 모든 답변을 시도해 보았지만 저에게는 효과가 없었습니다.

경우는 제가 을 했을 때./usr/local/var/log/postgres.log틀림없었습니다. 저는 이 제 인 IPV6 주소를 듣고 알 수 . 즉, IPV6 주소입니다."::1"

내 안에서database.yml요.

host:     <%= ENV['POSTGRESQL_ADDON_HOST'] || '127.0.0.1' %>

변경했습니다

host:     <%= ENV['POSTGRESQL_ADDON_HOST'] || 'localhost' %>

그리고 그것은 효과가 있었습니다.

운영(모든 작업이 제대로 수행됨)에서 동일한 문제가 발생했습니다. 이 경우 DB 서버가 앱과 동일한 시스템에 있지 않으므로 마지막으로 다음과 같이 기록하여 마이그레이션하는 것이 효과적입니다.

bundle exec rake db:migrate RAILS_ENV=production

그런 다음 서버를 다시 시작하면 모든 것이 작동합니다.

늦었지만 누군가에게 도움이 될 수도 있습니다.저도 같은 문제를 겪고 있었습니다.알고 보니 포스트그레스 9.1과 9.5 두 가지 버전이 있었습니다.9.1과 9.5를 제거하고 9.5를 다시 설치했는데 제대로 작동했습니다.

저도 같은 문제가 있었습니다.다음의 마지막 줄을 확인합니다.PostgreSQL 의 로그 파일/var/log/postgresql/etc/postgresql/9.5/main/postgresql.conf 파일에 인식할 수 없는 구성 매개 변수가 있습니다.오류 행 주석 달기postgresql.conf내 문제를 해결했습니다.

나의 문제는 application.yml 파일에 있었습니다.내 데이터베이스urlheroku포트 5342를 사용하지 않았습니다.를 확인해 .herokuvar DATABASE_URL해당 데이터베이스에 대한 application.yml에 와 정확히 일치하는지 확인합니다.

저도 같은 문제가 있었습니다. 이 설명으로 해결되었습니다. http://blog.55minutes.com/2013/09/postgresql-93-brew-upgrade/

핵심 단계는 내 /usr/local/var/postgres/server.log의 꼬리를 보는 것이었는데, 이를 통해 실제 문제가 무엇인지 알 수 있었습니다. 즉, Postgre 업그레이드 프로세스가 완전히 완료되지 않았다는 것입니다.SQL

는 이 입니다.sudo service postgresql restart그리고 모든 것이 다시 작동했습니다.

Homebrew 패키지 관리자에는 자동으로 시작할 launchctl 목록이 포함되어 있습니다. 를 실행하십시오.brew info postgres.

수동으로 시작:

pg_ctl -D /usr/local/var/postgres start

수동으로 중지:

pg_ctl -D /usr/local/var/postgres stop

자동으로 시작:

"postgresql을 지금 시작하고 로그인 시 다시 시작하려면:"

brew services start postgresql

제 경우에는 권한 문제가 있었습니다.

로그를 보면 문제를 발견했습니다. 실행

cat /usr/local/var/log/postgres.log 

알아냈어.

2020-07-17 15:08:47.495 PKT [16282] FATAL:  data directory "/usr/local/var/postgres" has invalid permissions
2020-07-17 15:08:47.495 PKT [16282] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).

방금 뛰었습니다

sudo chmod -R 700 /usr/local/var/postgres

효과가 있었습니다.

@크리스 슬레이드의 대답이 도움이 되었습니다.

저는 남은 프로세스를 삭제하기 위해 다음과 같은 스크립트를 작성한 내용은 다음과 같습니다.

kill_postgres() {
  if [[ $* -eq "" ]]; then
    echo "Usage: 'kill_postgres <db_name>' to kill remaining instances (Eg. 'kill_postgres my_app_development')"
  else
    gksudo echo "Granted sudo"
    pids="$(ps xa | grep postgres | grep $* | awk '{print $1}' | xargs)"
    if [[ $pids -eq "" ]]; then
      echo "Nothing to kill"
    else
      for pid in "${pids[@]}"
      do
        echo "Killing ${pid}"
        sudo kill $pid
        echo "Killed ${pid}"
      done
      kill_postgres $*
    fi
  fi
}

는 레일즈 서버를 하고, 즈서멈고추다니습도망, 쳤레일를버다니▁i,▁stopped▁server를 실행했습니다.rake db:migrate그리고 나의 일을 시작.rails s.

다음을 수행한 후 이 오류가 발생했습니다.brew upgradepostgresql이 업데이트되었습니다.저는 이 훌륭한 게시물에서 제 문제를 해결하는 방법을 정확히 찾았습니다.Postgres를 다시 백업하고 실행할 수 있었으며 기존의 모든 데이터베이스로 마이그레이션할 수도 있었습니다.https://coderwall.com/p/ti4amw/how-to-launch-postgresql-after-upgrade

언급URL : https://stackoverflow.com/questions/19828385/pgconnectionbad-could-not-connect-to-server-connection-refused

반응형