web-dev-qa-db-ja.com

Postgres.appはポート5432で起動できませんでした

http://postgresapp.com を使用しています。メニューバーに、「ポート5432で起動できませんでした」というエラーが表示されます。同様に、ターミナルからサーバーを起動しようとすると、次のメッセージが表示されます。

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

私も走ったpg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log startおよび出力server startingしかし、psqlへの接続時に同じエラーが発生します。

35
Chris

実行中のpostgresの別のインスタンスがあります。これは、このポートに関心がある唯一のアプリケーションです。これを判断するには、netstatとpsを使用する必要があります。次に、インスタンスを停止してアンインストールします。たとえば、enterpiseDbをインストールした可能性があります。

13
Paul McLachlan

サーバーをmacOSマシンで実行していて、Homebrew経由でPostgresをインストールしている場合、次のように現在のインスタンスを停止できます。

醸造サービスはpostgresqlを停止します

次に、画面上部のネイティブメニューバーで象をクリックすると、正常に起動するはずです。

43
Max von Hippel

PIDを見つけることでプロセスを停止できます

lsof -i :5432

そしてそれで殺す

kill -9 <PID>
28
Некто

私はまさにこの問題を抱えていました。 which psqlを実行したとき、Lionと共にインストールされたPostgresクライアントツールを指していました。

/usr/bin/psql

Frank Wiles からのヒントを使用して、ps auxw | grep postを実行して、postgresが実行されており、適切なポートで実行されていることを確認しました。

/Applications/Postgres.app/Contents/MacOS/bin/postgres

そのため、そのディレクトリをエクスポートするために.bash_profileで編集しました。最初の努力で、私はそれをパスの最後に追加しました。 echo $PATHを実行したとき、パスの最初にusr/binがあり、which psql/usr/binパスを示していることがわかりました。その時点で、友人が正しい方向に案内してくれました。

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:${PATH}"

新しいターミナルウィンドウを起動し、which psqlを実行します-postgres.appの場所をポイントし、psqlがpostgresシェルを起動します。現在は正常に動作します。

23
eezis

別の方法(たとえば、www.postgresql.orgから)でPostgresをインストールし、起動時に自動的に起動する場合、次の方法でPostgresが起動しないようにできます。

Sudo launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-X.X.plist  
Sudo rm -f /Library/LaunchDaemons/com.edb.launchd.postgresql-X.X.plist  

ヒント:タブを使用して、com.edu.launchdロードされているバージョンを把握する部分。

Postgres.appを再起動すると、準備完了です。

(から http://forums.enterprisedb.com/posts/list/1831.page;jsessionid=70621DC48C99EDE663A6A594B05F1A02#6782

17
Jamon Holmgren

私はそこにあるこの問題のほぼすべての解決策を試しました。私にとっては、MacBookのバッテリーが切れたときに、コンピューターが既にスリープ状態になっていても常に起こります。私は_~/Library/Application\ Support/Postgres/var-9.4_をいじくり回していましたが、以前見たことのない別の_postmaster.pid_ファイルを発見しました。私はそれを削除し、今ではすべてがバックアップされ実行されています! brewバージョンではなく、Postgres.appバージョンを実行しています。

私がとったステップ:

  1. _postgres.app_が実行されていないことを確認してください。
  2. _rm ~/Library/Application\ Support/Postgres/var-9.$X/postmaster.pid_を実行します
  3. _var-9.$X_ディレクトリがない場合は、_rm ~/Library/Application\ Support/Postgres/postmaster.pid_を実行するだけです
  4. 再起動_postgres.app_
  5. クールなものの開発に戻りましょう。
16
Daniel Bonnell

アプリ自体がポート5432で実行されていると言っても、Postgres.appに接続できないという同様の問題がありました。

理由はわかりませんが、アプリケーションを終了し、ps -aでpostgresプロセスが実行されていないことを確認した場合でもです。これらのファイルが存在しました:

/tmp/.s.PGSQL.5432

そして

/tmp/.s.PGSQL.5432.lock

私の解決策は、これらのファイルを削除してから、postgres.appを再度起動することでした。

6
ksnabb

PIDが取得されることもあります。これは、コンピューターで予期しない再起動が発生したときに発生しました。

もしそうなら、あなたはに行く必要があります:

˜/Library/Application Support/Postgres/var-9.4

Postgres.app設定ダイアログでそのパスを確認できます。

そして、pidファイルを削除するだけです

Sudo rm postmaster.pid

そして、サーバーはすぐに起動します。

5
Lomefin

Postgresアプリを開こうとすると、post 5432(Mac OSX 10.10.5)に関して同じエラーが発生していました

やった:

$ lsof -i | grep LISTEN

そのポートでどのPIDがpostgresを実行していたかを見ました:$ killall {pid}そして$ brew uninstall postgres

その後、Macを再起動して実行しました:

$ lsof -i | grep LISTENもう一度確認してください。どこでもpostgresが実行されていなかったため、その警告を受け取ることなくPostgresアプリを開くことができました。

その後、$ brew install postgresでpostgresを再インストールしました

別のオプション

(上記のアプローチが機能せず、PIDのいずれも殺すことができなかったときにもこれを試しました)

$ ps auxw | grep post

多数のpostgresプロセスを見た後、Sudo kill <PID>

すべて正常に動作しています。

このコマンドは、すべてのPostgresSQLプロセスを即座に強制終了するワンライナーです。

Sudo kill -kill $(Sudo lsof -t -i :5432)

これにより、Mac OSX Mojave 10.14.1でのすべての問題が修正されました。

3
Aaron Becker

推測では、他の何かがポート5432を使用していたため、アプリは代わりに5433での実行を選択しました。

ポート5433でPgに接続するのはなぜですか? /tmp/.s.PGSQL.5432ソケットファイルがあるため、UNIXドメインソケット接続の場合はpsql -p 5433で接続できます。また、TCP/IPを使用して同じポートでリッスンするため、TCP/IPにpsql -h localhost -p 5433を使用して、5432ではなくポート5433にアプリを接続できます。

.psqlrcを変更して、新しいポートをデフォルトとして設定します。デフォルトポートにないことは忘れてください。

2
Craig Ringer

私の突然の起動に失敗し、Console.appを確認したとき、私は見ました:

com.heroku.postgres-service: 
FATAL:  could not create shared memory segment: Cannot allocate memory
DETAIL:  Failed system call was shmget(key=5432001, size=3874816, 03600).
HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently 3874816 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
The PostgreSQL documentation contains more information about shared memory configuration.

Wireshark(およびX11)を実行しているため、Postgresが起動しないことがわかりました。 Wiresharkを終了した後、正常に動作しました。

がんばろう!

1
Colin

どういうわけか、このソケットファイルがドットのために非表示になることを完全に忘れていました。ソケットが実際にあるかどうかを確認する場合は、ls -A /tmp/.s.PGSQL.5432を使用してください。

1
David Winiecki

私はこの問題を解決しました

  1. PostgresではなくpostgreSQLであるCLで「netstat」を使用して、ポート5432で実行されていたものを識別する
  2. Root/Library/PostgreSQLであるpostgreSQLを含むディレクトリを見つけました
  3. Activity Monitorを使用して、アプリケーションのインスタントが実行されていないことを確認しました
  4. その後、フォルダを削除して再起動しました!すべてが大丈夫でした!
1
Vishal Sakaria

Netstat、ps auxなど...使用中の5432を示したものはありませんでした。 /ライブラリをチェックしました。 PG9.6の古いインストールはまだそこにあります。 rm -rfとbangをしました。バージョン11は正常に動作します。

1

Railsでpostgresqlを使用しようとすると、同様の問題が発生しました。新しいバージョンのgem pgを使用するようにGemfileを更新すると、この問題は解決します。 (gem pgバージョン0.16.0が機能します)。 Gemfileの使用:

gem 'pg', '0.16.0'

次に、以下を実行してgemを更新します

bundle install --without production
bundle update
bundle install
1
andr3wll

すべての有用な回答に加えて、公式ページの指示もご覧ください。 postgressapp.com/documentation/remove.html

1
Lily bentham

私は同じ問題を抱えていました:

 psql:サーバーに接続できませんでした:そのようなファイルやディレクトリはありません「?

私の場合、それは私のMac上の破損したホストファイルでした。私は行方不明でした:

 127.0.0.1 localhost 

チェックする簡単な方法は、ターミナルを開いて次のように入力することです。

 ping localhost 

または:

scutil -r localhost

詳細情報 こちら 役に立てば幸いです。

0
Kris Utter

($ PGDATAディレクトリにある) "postmaster.pid"という名前のファイルがpostgresqlの起動を妨げていました。それは10日前にそこに置かれたゾンビファイルであり、私がコンピューターを残酷にシャットダウンした(文字通り、プラグを引っ張った)とき、クリーンアッププロセスでそのファイルを削除する機会はありませんでした。

0
Yanik Crépeau

ほとんどの場合、PostgreSQLがインストールされ、削除され、再度インストールされています。 PostgreSQLは通常ポート5432を使用しましたが、使用可能でない場合、次に使用可能なポート(この場合は5433)に増加します。したがって、2回目のインストールでこのポートを選択した可能性があります。

ファイルを確認する必要があると思います:

/ etc/services

予想されるポート番号に合わせて以下の行を調整します。

postgresql 5432/udp#PostgreSQLデータベース

postgresql 5432/tcp#PostgreSQLデータベース

この後、コンピューターを再起動する必要があります(最も簡単な方法)。

0
Sabin Chirila

同じ問題がちょうど私に起こりました。しばらくしてからPostgres.app 9.2.4.1を実行していました。 Mac OS Xを10.8.5に更新したとき、必須の再起動後は動作しなくなりました。 9.2.4.3へのアップデートなど、いくつかのことを試してみましたが、再起動しても動作しませんでした。

ファイルを開く必要がありました/Users/$USER/Library/Application Support/Postgres/var/postgresql.confおよびto:

  1. 行のコメントを解除unix_socket_permissions = 0777
  2. 行のコメントを解除して適応unix_socket_directory = '/tmp'

再起動後、Postgres.appはチャームのように実行されていました。

0
Rmatt