573

私がやった後brew updatebrew upgrade私のpostgresはいくつかの問題を抱えていました。postgresをアンインストールして再度インストールしようとしましたが、うまくいきませんでした。

これはエラーメッセージです。(実行しようとすると、このエラーメッセージも表示されますrake db:migrate

$ psql
psql: 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"?

どうすれば解決できますか?

Mac版:マウンテンライオン。

自作バージョン:0.9.3

postgresバージョン:psql(PostgreSQL)9.2.1

そして、これは私がしたことです:

$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.2.1...
$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.1.4...
$ psql --version
bash: /usr/local/bin/psql: No such file or directory
$ brew install postgresql
==> Downloading http://ftp.postgresql.org/pub/source/v9.2.1/postgresql-9.2.1.tar.bz2
Already downloaded: /Library/Caches/Homebrew/postgresql-9.2.1.tar.bz2
......
......
==> Summary
/usr/local/Cellar/postgresql/9.2.1: 2814 files, 38M, built in 2.7 minutes
$ initdb /usr/local/var/postgres -E utf8
The files belonging to this database system will be owned by user "laigary".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default text search configuration will be set to "english".

initdb: directory "/usr/local/var/postgres" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/var/postgres" or run initdb
with an argument other than "/usr/local/var/postgres".
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/postgresql/9.2.1/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
homebrew.mxcl.postgresql: Already loaded
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
$ env ARCHFLAGS="-arch x86_64" gem install pg
Building native extensions.  This could take a while...
Successfully installed pg-0.14.1
1 gem installed
$ psql --version
psql (PostgreSQL) 9.2.1
$ psql
psql: 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"?

さて、homebrewを再インストールした後、を使用$ psqlしてもエラーメッセージは表示されません。

しかしrake db:migrate、Railsアプリで実行すると、次のように表示されます。

could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `initialize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `new'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `connect'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:309:in `new_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:319:in `checkout_new_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:241:in `block (2 levels) in checkout'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in `loop'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in `block in checkout'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:233:in `checkout'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:96:in `block in connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:404:in `retrieve_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:170:in `retrieve_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:144:in `connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:107:in `rescue in create_database'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:51:in `create_database'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `block (3 levels) in <top (required)>'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `each'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `block (2 levels) in <top (required)>'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:205:in `call'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:200:in `each'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:200:in `execute'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:144:in `invoke'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:94:in `each'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:88:in `top_level'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:66:in `block in run'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:63:in `run'
/usr/local/bin/rake:32:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"riy_development", "pool"=>5, "username"=>nil, "password"=>nil}

最後に私は解決策を見つけました。

sudo mkdir /var/pgsql_socket/
sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

この解決策は少し注意が必要ですが、機能します。誰かがより良い解決策を持っていることを願っています

アップデート

これは私にも有効です。

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

59 に答える 59

1118

同様の問題がありました。pidファイルがpostgresの起動をブロックしていました。それを修正するには:

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

そして、すべてが順調です。


アップデート:

Apple M1(Big Sur)ユーザーの場合は、代わりに次のようにします。

$ rm /opt/homebrew/var/postgres/postmaster.pid
$ brew services restart postgresql
于 2013-09-16T15:55:50.157 に答える
337

これは、brewがpostgresアップグレードを実行し、データファイルが新しいサーバーと互換性がなくなるときに発生することがあります。

私の場合、9.3から9.4にアップグレードしたときに発生しました。

OS X /自作:

実行してみてくださいpostgres -D /usr/local/var/postgres-postgresの開始に失敗した場合、より詳細な出力が得られます。/usr/local/var/log/postgres.logまたは、 ( Mac M1の場合)でログファイルを開き、「致命的:データベースファイルはサーバーと互換性がありません」/opt/homebrew/var/log/postgres.logという行を探します。

私の場合、runningを実行するrm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8と古いデータベースが削除され、postgresdbスキーマが再初期化されました。(これはあなたのデータを破壊します)

そのソリューションを提供してくれたhttps://github.com/Homebrew/homebrew/issues/35240に感謝します。完全な再インストールの完全な手順は、次の場所にあります。Homebrew Postgresを完全にアンインストールして再インストールする方法-ダブルブログをテストします(ここでも、M1 Macを使用している場合は、/ opt / homebrew/varパスを/opt/ homebrew/varパスに置き換えますusr / local / var

データベースを(でrake db:create)再生成した後、すべてが再び正常に機能しました。

最後に、コメント内のリンクは、データを保持するこの可能な解決策を示していますが、私は試していません:データを失うことなくPostgreSQLをバージョン9.6からバージョン10.1にアップグレードする方法-Stack Overflow

于 2015-01-13T15:16:01.987 に答える
87

ここで私のために働いた解決策を見つけました:

https://dba.stackexchange.com/questions/75214/psql-could-not-connect-to-server-no-such-file-or-directory

基本的に、次のコマンドを実行してサーバーを手動で起動します。

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
于 2015-04-01T05:57:07.937 に答える
60

brewを使用したpostgresのインストールとアンインストールが機能しない場合は、postgresqlのインストールのログを確認するか、次のようにします。

postgres -D /usr/local/var/postgres

この種の出力が表示された場合:

LOG:  skipping missing configuration file "/usr/local/var/postgres/postgresql.auto.conf"
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.4, which is not compatible with this version 9.6.1.

次に、次のことを試してください。

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

次に、サーバーを起動します。

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

ソース

于 2017-02-09T03:17:45.427 に答える
54

データベースのアップグレードは私のために働きます

brew postgresql-upgrade-database

于 2018-01-23T19:17:56.270 に答える
36

Yosemiteで、pidファイルがPostgresの起動をブロックしていて、launchctlデーモンがデータベースデーモンをロードしようとしている(そして失敗している)場合は、plistファイルをアンロードする必要があります。

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

次に、pidファイルを削除します

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

launchctl次に、デーモンをリロードします

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
于 2014-12-18T08:26:32.913 に答える
32

これを読んでPostgres.appを使用している人は、database.ymlが必要host: localhostになる場合があります。http://postgresapp.com/documentation#toc_3

于 2013-06-14T06:54:48.957 に答える
26
brew services start postgres 

私のために働いた!

于 2017-03-14T23:49:09.680 に答える
18

この問題は、postmaster.pidファイルを残したクラッシュしたプロセスが原因である可能性もあります。私はこれを行い、仕事をします:

$ brew services stop postgresql
$ rm /usr/local/var/postgres/postmaster.pid # adjust path accordingly to your install
$ brew services start postgresql
于 2018-10-18T14:55:57.237 に答える
17

ソケットファイルが存在することを確認してください。

$ ls -l /tmp/.s.PGSQL.5432
srwxrwxrwx  1 you  wheel  0 Nov 16 09:22 /tmp/.s.PGSQL.5432

そうでない場合は、postgresql.confでunix_socket_directoryの変更を確認してください。

$ grep unix_socket /usr/local/var/postgres/postgresql.conf
#unix_socket_directory = ''     # (change requires restart)
#unix_socket_group = ''         # (change requires restart)
#unix_socket_permissions = 0777     # begin with 0 to use octal notation
于 2012-11-16T14:44:24.947 に答える
16

問題は、ポート5432ですでに実行中のサービスがあり、このポートを介してpsqlソケット接続を確立できないためです。

ソケットファイルを削除しました

rm -rf /tmp/.s.PGSQL.5432/

次に、postgresサービスを再初期化しました

postgres -D /usr/local/var/postgres

これは私のために働いた。

于 2018-05-19T20:59:26.980 に答える
12

これを回避する最も確実な方法は、

brew reinstall postgresql

これにより、ユーザー権限などがすべてそのまま維持され、すべてが新しいものにリセットされます。いつも動作します!

于 2016-11-04T03:09:47.947 に答える
8

これは実際にあなたがすることになっていることです:

代わりに/usr/local/var/postgres/postmaster.pidを確認する必要があります

次に、ファイルの最初の行を確認します-これは不正なPIDです

走る

ps aux | grep <PID>

例えば:

ps aux | grep 12345

その後、

kill <PID>

例えば

kill 12345

それがまだ実行されていると仮定して

https://superuser.com/questions/553045/fatal-lock-file-postmaster-pid-already-exists

受け入れられた答えに耳を傾けないでください。それは悪いことであり、データを破壊します!!!

于 2017-05-06T02:15:28.187 に答える
8

私の場合、問題はMacOSのアップデートが原因でした。PostgreSQLをアップグレードすると問題が解決しました。

# upgrade database version solved the trouble
$ brew postgresql-upgrade-database

ただし、このエラーは非常に一般的であり、複数の理由が考えられます。上記の私の解決策に完全に依存するべきではありません。

于 2020-10-29T05:25:30.130 に答える
7

postresqlまたはdatabase.ymlの構成設定の変更、$ PATHの変更、またはシンボリックリンクの作成はすべて私にとって不要でした。私がする必要があるgem uninstall pgのはそれからbundle(またはgem install pg)だけでした。

問題は、pg gemが自作postgresの前にインストールされていたため、MacOSに付属しているバージョンのpostgresから設定を取得していたことでした。それを再インストールする(したがって、ネイティブ拡張を再構築する)と、問題が修正されました。

于 2013-08-23T19:08:43.780 に答える
7

これは、データベースをアップグレードしないと互換性がないため、9.3.4から9.5にアップグレードしたときに発生しました。

私は次のようにpg_upgradeを使用しました:

postgresを停止します

$ brew services stop postgresql

データベースをアップグレードします。

$ pg_upgrade \
   -d /usr/local/var/postgres \
   -D /usr/local/var/postgres9.5 \
   -b /usr/local/Cellar/postgresql/9.3.4/bin/ \
   -B /usr/local/Cellar/postgresql/9.5.0/bin/ \
   -v

古いデータベースをアーカイブします。

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

postgresを再起動します:

 $ brew services start postgresql

更新されたGems(rails /アクティブレコード用):

 $ gem uninstall pg
 $ gem uninstall activerecord-postgresql-adapter
 $ bundle install
于 2016-08-10T19:00:25.793 に答える
7

MacOS BigSurの場合、自作のpostgres:

  • rm /opt/homebrew/var/postgres/postmaster.pid
  • brew services restart postgresql
于 2021-05-28T14:17:25.083 に答える
6

これは私のために働いた。ファイルを削除する必要はありませんでした

brew postgresql-upgrade-database

于 2021-09-22T15:44:52.923 に答える
5

Psqlオプション

-h hostname --host = hostname

:サーバーが実行されているマシンのホスト名を指定します。 値がスラッシュで始まる場合は、Unixドメインソケットのディレクトリとして使用されます。

$ grep "port\|unix_socket" /etc/postgresql/9.1/main/postgresql.conf
port = 5433                                         # (change requires restart)
unix_socket_directory = '/var/run/postgresql'       # (change requires resta

$ netstat -nalp | grep postgres
unix  2      [ ACC ]     STREAM     LISTENING     106753   4349/postgres       /tmp/.s.PGSQL.5432
unix  2      [ ACC ]     STREAM     LISTENING     10377 1031/postgres       /var/run/postgresql/.s.PGSQL.5433

-hostオプションを指定してpsqlを実行します

$ psql -p 5433 -h /var/run/postgresql

ソフトリンクを作成する必要はありません

于 2014-03-02T07:08:09.467 に答える
5

postgresがhomebrewを使用してインストールされた場合は、次を実行してこれを修正できます。

brew link postgres
于 2017-03-14T23:19:42.667 に答える
5

これは私のために働いた(以前の答えの組み合わせとして):

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

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

ソース:https ://coderwall.com/p/zf-fww/postgres-on-osx-with-homebrew-not-running-after-osx-crash

于 2018-03-17T14:23:32.153 に答える
5

についても同じ問題に直面しましたpsql (PostgreSQL) 9.6.11

私のために働いたもの-

postmaster.pidを削除します- rm /usr/local/var/postgresql@9.6/postmaster.pid

postgresを再起動します-brew services restart postgresql@9.6

これも機能しない場合は、-を実行します sudo chmod 700 /usr/local/var/postgresql@9.6

于 2019-04-12T06:52:21.727 に答える
4

MacOS Sierraでもこの問題が発生し、上記のようにpg_ctlを実行すると、次のエラーが発生しましpg_ctl: no database directory specified and environment variable PGDATA unsetた。そこで、ここで問題を解決した手順に従いました。

mkdir ~/.postgres

initdb ~/.postgres

pg_ctl -D ~/.postgres start

于 2016-11-02T20:29:32.910 に答える
4

コードで間違ったPostgresのユーザー名を使用しているため、同じ問題が発生しました。postgresにログインしpsql -d postgres、Enterキーを押し\duて役割名を取得し、Postgresのユーザー名を修正しました。

したがって、この問題に直面した場合は、正しいPostgresユーザー名、パスワード、ホスト名、およびデータベースを使用していることを確認する必要があります...

これが誰かに役立つことを願っています

于 2017-10-16T04:39:27.647 に答える
4

psqlを終了せずにシステムをシャットダウンした場合、postgresは一部のファイルを削除しませんでした。

usr / local / var/postgresの場所にpostmaster.pidファイルが見つかりませんでした

だから私は以下をしました:

醸造サービスはpostgresqlを開始します

上記のコマンドでpostgresを開始できます

于 2019-07-12T11:26:07.557 に答える
4

だから私はrails db:createコマンドの後でこれに頑固になりました。macOSCatalina10.15.3で環境をセットアップします。

私が最初にチェックしたのは、私をここに連れて行った流れでした。すべてがスムーズに進み、頭から離れる可能性のあるエラーがないことを確認した後、ここから最も人気のあるソリューションを試しましたが、どれもうまくいかなかったようです。

これまでのところ、私が見た唯一のエラーは

$ psql psql: 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"?

だから私は何が起こっているのかについてもっと具体的な情報が必要でした。そのため、次の場所にあるpostgresログファイルを確認することにしました。

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

したがって、ログを開いた後、このエラーが表示されました

LOG: starting PostgreSQL 12.2 on x86_64-apple-darwin19.3.0, compiled by Apple clang version 11.0.0 (clang-1100.0.33.17), 64-bit LOG: could not translate host name "localhost", service "5432" to address: nodename nor servname provided, or not known WARNING: could not create listen socket for "localhost" FATAL: could not create any TCP/IP sockets LOG: database system is shut down

したがって、これはもう少し説明的で具体的です。問題は、PostgreSQLがローカルホストサーバーを「認識」して解決できないことです。

それで、次に私がしたことは、デフォルトの内容が次のようになるはずの/ etc /hostsファイルをチェックすることでした:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1          localhost 

上記を私のものと比較した後、私は私のものではこの行が異なっているのを見てコメントしました(!)。

#::1             localhost

そのため、ファイルを保存した行の前にある#記号を削除して、

rails db:create 

そしてデータベースは首尾よく開始されました。

于 2020-03-25T23:35:52.960 に答える
3

他のプロセスがデータベースにアクセスしているときにデータベースを復元/ドロップ/作成しようとした後、この問題が発生しました。MacOSX/Homebrewの修正は次のとおりです。

  1. 他のすべてのアクセスプロセス、、、rails serverなどを閉じますrails consoleguard
  2. にあるコマンドを使用してロード/アンロードbrew info postgres
  3. 以前から復元/ドロップ/作成を実行します
于 2014-01-24T18:17:09.313 に答える
3

FWIWこれは今日私に起こりました、しかし起こったのは私がその時にUbuntuアップデートを実行していたということでした、そしてそれはおそらくPostgresをアップデートしていました。アップデートが完了すると、問題なく接続できました。

完全を期すために、私はRailsコンソールからデータベースからレコードを取得しようとしていました。

development (main):0 > a = MyModel.find 73694
PG::ConnectionBad: 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"?
于 2015-02-10T14:54:00.263 に答える
3

psqlが実行されていないようです。接続する前に実行する必要があります。これは、MacOS専用のPostgres.appを使用して行うことができます。(このアプリをダウンロードしてインストールしますhttp://postgresapp.com)アプリを開くと、PostgreSQLサーバーの準備が整い、新しい接続を待っています。アプリを閉じると、サーバーがシャットダウンします。この情報はhttp://www.postgresql.org/download/macosx/にもあります。これがお役に立てば幸いです。

于 2015-06-09T21:12:48.410 に答える
3

以前のサーバーがまだ実行されているため、すべてを閉じてアプリケーションを再実行してみてください。

于 2016-10-01T09:22:36.213 に答える
3

このコマンドを使用しても機能しない場合、またはファイルが存在せず、RubyonRailsを使用している場合

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

または他のコマンドで失敗し続けます。

Brewでアンインストールするこの問題を解決しました。最初のアンインストールでは別のバージョンのpostgresqlが残り、2回目のアンインストールでプロセスが完了するため、brewで2回アンインストールする必要がありました。

Brewでpostgresqlをインストールする

次に、プロジェクトのデータベースをドロップ、作成、および移行します

(postgresqlサーバーを起動することを忘れないでください)

于 2017-02-08T16:07:56.100 に答える
3

¿最近pg_hba.confを変更しましたか?次のタイプミスをチェックした場合:

「ローカル」はUnixドメインソケット接続専用です

ローカルすべてすべてのパスワード

IPv4ローカル接続:

すべての127.0.0.1/32パスワードをホストします

IPv6ローカル接続:

すべてをホストする::1/128パスワード

単純な間違いが私たちに頭痛の種を与えることがあります。私の英語がまったく上手くいかない場合は、この助けと申し訳ありません。

于 2017-10-28T16:09:42.730 に答える
3

これは、postgresサーバーが実行されていない場合に発生します。MACにHomebrew経由でPostgresを正しくインストールする手順:

  1. brew install postgres

  2. initdb /Users/<username>/db -E utf8 [これにより、postgresが初期化され、指定されたディレクトリがデータベースディレクトリとして使用されます。通常、データベースの保存にユーザーディレクトリを使用することはお勧めしません。sudoersファイルを編集してinitdbおよび同様のコマンドを追加してから、/ usr / local / var/postgresでinitdbを実行します]

  3. pg_ctl -D /Users/<username>/db -l logfile start [ステップ2で成功すると、ステップ3を実行するように求められます。このコマンドはサーバーを手動で起動します。]

于 2018-01-04T06:57:34.463 に答える
2

これと同じエラーが発生しました。postgresはまったく実行されていなかったことが判明しました(通常は常にバックグラウンドで実行されていますが、何らかの理由で今日は実行されていませんでした)。

この場合はpostgres、プロジェクトディレクトリのコマンドラインに入力するだけです。

于 2014-05-10T22:13:53.480 に答える
2

途方もない量の行き来の後、それは本当にpg私が使っていた宝石バージョンに行き着きました。マーベリックスでは、pgバージョン0.15.1はポート5432に接続しませんが、バージョンは問題なく0.17.1機能します-非常に奇妙です。

于 2014-11-23T19:29:14.893 に答える
2

私にとって、問題を引き起こしたのはApacheのアップグレードでした。コンソールでpsqlを実行することも、kdevelopから直接dbを呼び出すこともできます。また、接続文字列に「host=localhost」を追加することもできました。

しかし、本当の問題は、apacheがプライベートtmpに変更されたことでした。

解決策: /usr/lib/systemd/system/apache2.serviceを更新し、PrivateTmp=trueをPrivateTmp=falseに変更します。

私はOpenSuseOSに取り組んでいますが、Macでも同様のことが起こる可能性があると思います。

于 2016-10-11T07:32:32.560 に答える
2

同じ問題がありました。DBをアップグレードすることでうまくいきました! postgresql-upgrade-database

于 2020-09-15T03:00:15.947 に答える
2

これは私のために働いた: rm /usr/local/var/postgres/postmaster.pid

于 2021-07-30T14:27:49.633 に答える
2

M1 Macを使用していて、 M1バージョンのhomebrewを使用してpostgresqlをインストールした場合、次のように動作します。

$ rm /opt/homebrew/var/postgres/postmaster.pid
$ brew services restart postgresql
于 2021-08-29T18:59:13.363 に答える
1

Postgres 9.6に最新のパッチをインストールした後、すべての実行可能ファイル(、、、postgresなどpsql)が削除され、それらを再リンクする必要がpg_dumpあることがわかりました。pg_restore幸いなことに、Homebrewはあなたのためにこれを行うことができます:

brew link --force postgresql # (or in my case, `postgresql@9.6`)
于 2019-05-15T03:49:43.403 に答える
1

試す

sudo systemctl start postgresql@12-main

ここで私のpostgresqlのバージョンは12です。

于 2020-04-21T12:50:42.820 に答える
1

私は単にpostgresを再起動しました:

brew services restart postgresql

を削除する必要はありませんでしたpostmaster.pid

于 2021-01-23T20:58:01.717 に答える
1

MacBook M1(Air)でプロジェクトに取り組んでいて、いくつかのタブを開いていたところ、突然Postgresサーバーが停止し、以下のエラーが発生し始めました。

psql:サーバーに接続できませんでした:接続に失敗しましたサーバーはローカルで実行されており、Unixドメインソケット「/tmp/.s.PGSQL.5432」で接続を受け入れていますか

私は次のような多くの解決策を試しました。

  1. brewとPostgresを更新しています。
  2. サーバーを再起動します。
  3. コマンドラインからプロセスを強制終了しようとしました。

しかし悲しいことに、私には何もうまくいきませんでした。

そして最後に、Macを再起動することを考えました。そして驚いたことに、postgresサーバーは以前とほぼ同じように正常に動作し始めました。Postgresディレクトリに問題があったに違いないと思います。しかし、私はそれがうまくいったことをうれしく思います。

再起動する前に、まず上記のオプションを実行することをお勧めします。

ありがとう。

于 2021-03-15T05:00:39.977 に答える
1

Mac OS Catalinaの場合、これは機能しました

$ rm /usr/local/var/postgres/postmaster.pid
$ brew services restart postgresql
于 2021-10-26T15:48:41.147 に答える
0

原因

Lionには、postgresのバージョンがすでにインストールされており、デフォルトでこれらのバイナリを使用します。一般に、自作のpostgresバイナリへのフルパスを使用することでこれを回避できますが、他のプログラムにはまだ問題がある可能性があります。

ソリューション

curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh

経由

http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/

于 2013-07-22T04:10:05.643 に答える
0

インストール後にデータベースを実行するための2つのステップ(その前に、postgresユーザーとしてログに記録されていることを確認してください)

Installed-Dirs / bin / postmaster -D Installed-Dirs / pgsql / data

例:

[postgres@localhost bin]$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

ステップ-2:インストールされたパスからpsqlを実行します(インストールされた場所を確認するには、「#whichpostgres」がインストールされた場所を見つけるために使用します)

[postgres@localhost bin]$ psql 
于 2015-01-24T10:42:22.673 に答える
0

Bitnamiスタックを使用し、root以外のユーザーpsqlとしてインストールしました。psqlを使用すると、前述のエラーが発生しました。

結局のところ、 psqlには2つのバージョンがあります

  1. Linuxディストリビューションにあらかじめパッケージ化されているルートレベルのpsql。これは/usr/ bin/psqlを指します
  2. Bitnamiスタックによってインストールされた非ルートレベルのpsql。これは/bitnami/ postgresql / postgresql / bin/psqlを指します

非rootユーザーを指すように、psqlのエイリアスを変更することをお勧めします。

alias psql='/bitnami/postgresql/postgresql/bin/psql'

上記は私のために働いたpsql -U postgres

于 2017-07-09T06:38:30.977 に答える
0

データディレクトリには古いpostmaster.pidファイルが含まれています/データディレクトリには読み取り不可能なpostmaster.pidファイルが含まれていますPostgreSQLはpostmaster.pidという名前のファイルをデータディレクトリに配置して、PostgreSQLサーバープロセスのプロセスIDを保存します。PostgreSQLがクラッシュした場合、このファイルにはPostgreSQLを混乱させる古いpidが含まれている可能性があります。この問題は、postmaster.pidファイルを削除することで修正できます。ただし、PostgreSQLが実際に実行されていないことを確認する必要があります。Activity Monitorを開き、「postgres」または「postmaster」という名前のプロセスがないことを確認します。

PostgreSQLの実行中にpostmaster.pidファイルを削除すると、悪いことが起こります。

ソース:https ://postgresapp.com/documentation/troubleshooting.html

于 2017-10-10T02:21:23.843 に答える
0

Postgresのアップグレード中(またはアップグレード後)に問題が発生した場合は、ここに記載されている手順に従って、バージョン間でデータを安全に転送してください。これにより、問題が解決します。

Homebrew(macOS)を使用してPostgreSQL9.6.5を10.0にアップグレードします

于 2017-12-04T05:43:30.877 に答える
0

原因の1つは、ディスクのサイズがいっぱいになっていないことを確認することです。postgresのコマンドpostmaster-Dpathを実行します。

于 2018-07-16T13:58:52.870 に答える
0

私たちの場合、次のようにpsqlコマンドでlocalhostを定義する必要がありました。

psql -h localhost -U postgres

-hがデフォルトで設定されない理由がわかりませんlocalhost...

于 2019-06-13T22:29:48.357 に答える
0

ディレクトリの権限を修正する必要がありました。

sudo chmod 0750 /usr/local/var/postgres
于 2020-03-26T11:32:52.413 に答える
0

私にとってうまくいったことは、実行中にPostgreSQLの2つのバージョンを持っていましたbrew services list

Name           Status  User           Plist
consul         stopped                
docker-machine stopped                
mysql          stopped                
postgresql     started homebrew.mxcl.postgresql.plist
postgresql@9.6 stopped                
redis          stopped                
runit          stopped                
unbound        stopped                
vault          stopped 

他のバージョンをリリースしたばかりですbrew services start postgresql@9.6

于 2020-06-26T16:17:40.637 に答える
0

私の場合、を使用して他のプロジェクトを実行しdocker-composeていたので、postgresqlを停止する必要がありました。sudo service postgresql stop && docker-compose up -d postgres && docker-compose up rails

新しいプロジェクトでこのエラーを修正するには、実行する必要がsudo service postgresql restartありました。それから修正しました。

于 2020-07-20T14:43:23.987 に答える
0

私はmacOSCatalina(10.15.6)とPostgreSQL12を持っています。

を実行すると、問題なくPostgreSQLが起動するbrew services start postgresqlbrew言われましたが、を取得しても表示されませんps auxw | grep post

それを解決するために、このリンクPostgres.appからインストールし、インストールしてボタンを押します。Init

それはあなたのデータベースを見つけてあなたにそれを見せます。

于 2020-09-04T11:04:33.037 に答える
0

MacOSBigSurApplication\ Supportはフォルダの名前をに変更したようApplicationSupportです。したがって、更新されたパスは次のようになります。

/Users/<USERNAME>/Library/ApplicationSupport/Postgres/var-10 
(or "/var-<YOUR PG VERSION>")
于 2020-12-15T12:21:55.207 に答える
0

これが私のMacOSでこのエラーを修正した方法です(私は以前homebrewインストールしていましたpostgres):

> cd /opt/homebrew/var
> rm -rf postgres
> initdb ./postgres -E utf8
> pg_ctl -D ./postgres -l logfile start
> rm postgres/postmaster.pid
> brew services restart postgresql
> createdb $(whoami)
于 2021-10-29T08:14:06.177 に答える
0

macOS Montereyには、を使用しbrew services restart postgresqlました。

brew install postgresql
createdb mydb
createdb: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory
    Is the server running locally and accepting connections on that socket?

brew services restart PostgreSQL
==> Successfully started `postgresql` (label: homebrew.mxcl

于 2021-12-06T23:48:09.630 に答える
0

私のために働いた最速の解決策:

  1. postgres用に構成されたポートですでに実行されているpostgresプロセスを見つけます
lsof -i:5432
  1. postgresのプロセスIDを見つけてそれらを殺します
kill -9 <pid>
于 2022-02-03T15:50:35.003 に答える