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への接続時に同じエラーが発生します。
実行中のpostgresの別のインスタンスがあります。これは、このポートに関心がある唯一のアプリケーションです。これを判断するには、netstatとpsを使用する必要があります。次に、インスタンスを停止してアンインストールします。たとえば、enterpiseDbをインストールした可能性があります。
サーバーをmacOSマシンで実行していて、Homebrew経由でPostgresをインストールしている場合、次のように現在のインスタンスを停止できます。
醸造サービスはpostgresqlを停止します
次に、画面上部のネイティブメニューバーで象をクリックすると、正常に起動するはずです。
PIDを見つけることでプロセスを停止できます
lsof -i :5432
そしてそれで殺す
kill -9 <PID>
私はまさにこの問題を抱えていました。 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シェルを起動します。現在は正常に動作します。
別の方法(たとえば、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 )
私はそこにあるこの問題のほぼすべての解決策を試しました。私にとっては、MacBookのバッテリーが切れたときに、コンピューターが既にスリープ状態になっていても常に起こります。私は_~/Library/Application\ Support/Postgres/var-9.4
_をいじくり回していましたが、以前見たことのない別の_postmaster.pid
_ファイルを発見しました。私はそれを削除し、今ではすべてがバックアップされ実行されています! brewバージョンではなく、Postgres.appバージョンを実行しています。
私がとったステップ:
postgres.app
_が実行されていないことを確認してください。rm ~/Library/Application\ Support/Postgres/var-9.$X/postmaster.pid
_を実行しますvar-9.$X
_ディレクトリがない場合は、_rm ~/Library/Application\ Support/Postgres/postmaster.pid
_を実行するだけですpostgres.app
_アプリ自体がポート5432で実行されていると言っても、Postgres.appに接続できないという同様の問題がありました。
理由はわかりませんが、アプリケーションを終了し、ps -aでpostgresプロセスが実行されていないことを確認した場合でもです。これらのファイルが存在しました:
/tmp/.s.PGSQL.5432
そして
/tmp/.s.PGSQL.5432.lock
私の解決策は、これらのファイルを削除してから、postgres.appを再度起動することでした。
PIDが取得されることもあります。これは、コンピューターで予期しない再起動が発生したときに発生しました。
もしそうなら、あなたはに行く必要があります:
˜/Library/Application Support/Postgres/var-9.4
Postgres.app設定ダイアログでそのパスを確認できます。
そして、pidファイルを削除するだけです
Sudo rm postmaster.pid
そして、サーバーはすぐに起動します。
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でのすべての問題が修正されました。
推測では、他の何かがポート5432を使用していたため、アプリは代わりに5433での実行を選択しました。
ポート5433でPgに接続するのはなぜですか? /tmp/.s.PGSQL.5432
ソケットファイルがあるため、UNIXドメインソケット接続の場合はpsql -p 5433
で接続できます。また、TCP/IPを使用して同じポートでリッスンするため、TCP/IPにpsql -h localhost -p 5433
を使用して、5432ではなくポート5433にアプリを接続できます。
.psqlrc
を変更して、新しいポートをデフォルトとして設定します。デフォルトポートにないことは忘れてください。
私の突然の起動に失敗し、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を終了した後、正常に動作しました。
がんばろう!
どういうわけか、このソケットファイルがドットのために非表示になることを完全に忘れていました。ソケットが実際にあるかどうかを確認する場合は、ls -A /tmp/.s.PGSQL.5432
を使用してください。
私はこの問題を解決しました
Netstat、ps auxなど...使用中の5432を示したものはありませんでした。 /ライブラリをチェックしました。 PG9.6の古いインストールはまだそこにあります。 rm -rfとbangをしました。バージョン11は正常に動作します。
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
すべての有用な回答に加えて、公式ページの指示もご覧ください。 postgressapp.com/documentation/remove.html
私は同じ問題を抱えていました:
psql:サーバーに接続できませんでした:そのようなファイルやディレクトリはありません「?
私の場合、それは私のMac上の破損したホストファイルでした。私は行方不明でした:
127.0.0.1 localhost
チェックする簡単な方法は、ターミナルを開いて次のように入力することです。
ping localhost
または:
scutil -r localhost
詳細情報 こちら 役に立てば幸いです。
($ PGDATAディレクトリにある) "postmaster.pid"という名前のファイルがpostgresqlの起動を妨げていました。それは10日前にそこに置かれたゾンビファイルであり、私がコンピューターを残酷にシャットダウンした(文字通り、プラグを引っ張った)とき、クリーンアッププロセスでそのファイルを削除する機会はありませんでした。
ほとんどの場合、PostgreSQLがインストールされ、削除され、再度インストールされています。 PostgreSQLは通常ポート5432を使用しましたが、使用可能でない場合、次に使用可能なポート(この場合は5433)に増加します。したがって、2回目のインストールでこのポートを選択した可能性があります。
ファイルを確認する必要があると思います:
/ etc/services
予想されるポート番号に合わせて以下の行を調整します。
postgresql 5432/udp#PostgreSQLデータベース
postgresql 5432/tcp#PostgreSQLデータベース
この後、コンピューターを再起動する必要があります(最も簡単な方法)。
同じ問題がちょうど私に起こりました。しばらくしてから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:
unix_socket_permissions = 0777
unix_socket_directory = '/tmp'
再起動後、Postgres.appはチャームのように実行されていました。