私がbrew updateとbrew 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
そしてこれが私がしたことです。
12:30 ~/D/works$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.2.1...
12:31 ~/D/works$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.1.4...
12:31 ~/D/works$ psql --version
bash: /usr/local/bin/psql: No such file or directory
12:33 ~/D/works$ 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
12:37 ~/D/works$ 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".
12:39 ~/D/works$ mkdir -p ~/Library/LaunchAgents
12:39 ~/D/works$ cp /usr/local/Cellar/postgresql/9.2.1/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
12:39 ~/D/works$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
homebrew.mxcl.postgresql: Already loaded
12:39 ~/D/works$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
12:39 ~/D/works$ 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
12:42 ~/D/works$ psql --version
psql (PostgreSQL) 9.2.1
12:42 ~/D/works$ 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"?
Howbrewを再インストールした後、$ psql
を使用すると、エラーメッセージは表示されません。
しかし、私は私のRailsアプリケーションでrake db:migrate
を実行します、それは示します:
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
同様の問題がありました。 PIDファイルがpostgresの起動をブロックしていました。修正するには:
rm /usr/local/var/postgres/postmaster.pid
それからすべてが順調です。
これは時々postgresのアップグレードで問題になる可能性があります。
私の場合は、9.3から9.4にアップグレードしたときに起こりました。
http://www.postgresql.org/docs/9.4/static/upgrading.htmlを参照してください
OS X /自作:
postgres -D /usr/local/var/postgres
を実行してみてください。postgresが起動に失敗した場合は、より冗長な出力が得られます。
私の場合は、rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
を実行すると古いデータベースが削除され、その後postgres dbスキーマが再初期化されました。
https://github.com/Homebrew/homebrew/issues/35240 その解決策に感謝します。
私のデータベースを(rake db:create
で)再生成した後、すべてうまくいきました。
ここで私のために働いた解決策を見つけました:
手動でサーバーを起動するには、基本的に次のコマンドを実行します。
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
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
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
これを読んでPostgres.appを使っている人は、あなたのdatabase.ymlにHost: localhost
が必要かもしれません。 http://postgresapp.com/documentation#toc_3
brew services start postgres
私のために働いた!
ソケットファイルが存在することを確認してください。
$ 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
データベースのアップグレードは私にとってはうまくいく
brew postgresql-upgrade-database
問題はpostmaster.pidファイルを残したクラッシュしたプロセスに起因することもできます。私はこれをして仕事をします:
$ brew services stop postgresql
$ rm /usr/local/var/postgres/postmaster.pid # adjust path accordingly to your install
$ brew services start postgresql
これは実際にあなたがすることになっているものです:
代わりに/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
それが悪くてあなたのデータを破壊するという受け入れられた答えを聞かないでください!
アップグレードしないとデータベースに互換性がないので、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
Postresqlまたはdatabase.yml設定の変更、$ PATHの変更、またはシンボリックリンクの作成はすべて私にとって不要です。私がする必要があったのはgem uninstall pg
そしてそれからbundle
(またはgem install pg
)だけでした。
問題は、pg gemが自作postgresより前にインストールされていたので、MacOSに付属しているバージョンのpostgresから設定を取り上げていたことです。それを再インストールすること(そしてネイティブ拡張を再構築すること)は問題を解決しました。
上記の解決策のどれも私のために働きませんでした。
問題は、ポート5432ですでに実行中のサービスがあり、このポートを介してpsqlソケット接続を確立できないためです。
ソケットファイルを削除しました
rm -rf /tmp/.s.PGSQL.5432/
それから私はpostgresサービスを再初期化しました
postgres -D /usr/local/var/postgres
これは私のために働きました。
Psqlオプション
-h 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
Psqlを-Hostオプション付きで実行する
$ psql -p 5433 -h /var/run/postgresql
ソフトリンクを作成する必要はありません
これは私にとって役に立ちました(以前の答えの組み合わせとして):
$ 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
これを回避する最も愚かな方法は、
brew reinstall postgresql
これはあなたのユーザの許可などをすべてそのまま保ち、すべてを新しいものにリセットします。常に動作します。
Postgresが自作を使用してインストールされた場合は、次のコマンドを実行してこれを修正できます。
brew link postgres
これは、以前のサーバーがまだ実行中であるため、すべてを閉じてアプリケーションを再実行してみてください。
これは今日の私に起こりました、しかし起こったことは私がその時に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"?
MacOS Sierraでもこの問題に遭遇し、上記のようにpg_ctlを実行したときに、次のエラーpg_ctl: no database directory specified and environment variable PGDATA unset
が発生しました。それで、我々は問題を解決した here の手順を踏んだ。
mkdir ~/.postgres
initdb ~/.postgres
pg_ctl -D ~/.postgres start
あなたのpsqlが動作していないようです。接続する前に実行してください。あなたはMac OSだけのためにPostgres.appを使ってそれをすることができます。 (このアプリをダウンロードしてインストールしてください http://postgresapp.com )アプリを開くと、PostgreSQLサーバーの準備ができて新しい接続を待っています。アプリを閉じると、サーバーはシャットダウンします。こちらの情報もここにあります http://www.postgresql.org/download/macosx/ 。これがお役に立てば幸いです。
最近pg_hba.confを変更しましたか。以下のようにタイプミスをチェックしただけの場合:
ローカル全パスワード
すべての127.0.0.1/32パスワードをすべてホストする
全ホスト::: 1/128パスワード
時々簡単なミスが頭痛の種になることがあります。私の英語が全く得意ではないならば、私はこの助けと申し訳ありませんが望みます。
このコマンドを使用しても動作しない、またはファイルが存在せず、Ruby on Railsを使用している人のためのものです。
rm /usr/local/var/postgres/postmaster.pid
または他の任意のコマンドとちょうど失敗し続ける。
私はBrewでアンインストールするこの問題を解決しました。最初のアンインストールでは別のバージョンのpostgresqlが残り、2回目のアンインストールではプロセスが完了するため、私はbrewで2回アンインストールする必要がありました。
PostgresqlをBrewと一緒にインストールする
その後、プロジェクトのデータベースをドロップ、作成、および移行します。
(postgresqlサーバーを起動することを忘れないでください)
私にとっては、問題を引き起こしたのはApacheのアップグレードでした。私はまだコンソールでpsqlを実行するか、またはkdevelopから直接dbを呼び出すことができます。また、接続文字列に "Host = localhost"を追加するようにしました。
しかし本当の問題は、Apacheがプライベートtmpに変わったことです。
解決策: usr/lib/systemd/system/Apache2.serviceを更新し、PrivateTmp = trueをPrivateTmp = falseに変更します。
私はOpenSuse OSに取り組んでいますが、Macでも似たようなことが起こると思います。
コードに間違ったPostgresのユーザー名を使用しているため、同じ問題が発生しました。私はpostgresのpsql -d postgres
にログインし、役割名を取ってPostgresのユーザー名を修正するために\du
を入力しました。
ですから、皆さんがこの問題に直面したときには、正しいPostgresのユーザ名、パスワード、ホスト名、およびデータベースを使っていることを確認する必要があります。
これが誰かに役立つことを願っています
何度も行ったり来たりした後、それは実際に私が使っていたpg
gemバージョンになりました。異端者の話では、pg
version 0.15.1
はポート5432には接続しませんでしたが、0.17.1
のバージョンはうまく動作します - 非常に奇妙です。
私はこれと同じエラーを受けました。 postgresはまったく実行されていなかったことがわかります(通常はバックグラウンドで実行されていますが、何らかの理由で今日は実行されていません)。
その場合は、プロジェクトディレクトリのコマンドラインにpostgres
と入力してください。
これはpostgresサーバが起動していないときに起こります。 MACにHomebrew経由でPostgresを正しくインストールするためのステップ:
brew install postgres
initdb /Users/<username>/db -E utf8
[これは与えられたディレクトリをデータベースディレクトリとして使うようにpostgresを初期化します。通常、データベースの格納にユーザーディレクトリを使用することは推奨されていません。 sudoersファイルを編集してinitdbおよび同様のコマンドを追加してから/ usr/local/var/postgresでinitdbを実行します。
pg_ctl -D /Users/<username>/db -l logfile start
[ステップ2で成功した後、それはステップ3を実行するように促します。このコマンドは手動でサーバを起動します。
他のプロセスがそれらにアクセスしている間にdbを復元/削除/作成しようとした後、私はこの問題に遭遇しました。 MacOSX/Homebrewの修正は次のとおりです。
Rails server
、Rails console
、guard
などをすべて閉じます。brew info postgres
にあるコマンドを使ってロード/アンロード私はpsql (PostgreSQL) 9.6.11
についても同じ問題に直面しました。
私にとってうまくいったこと -
postmaster.pidを削除します。 - rm /usr/local/var/[email protected]/postmaster.pid
postgresを再起動 - brew services restart [email protected]
Psqlを終了せずにシステムをシャットダウンした場合、postgresはいくつかのファイルを削除しませんでした。
Usr/local/var/postgresの場所にpostmaster.pidファイルが見つかりませんでした
だから私は以下をしました:
醸造サービスはpostgresqlを開始します
上記のコマンドでpostgresを起動できます
原因の1つは、ディスクのサイズがいっぱいでないことを確認することです。コマンドpostmaster -D postgresのパスを実行します。
原因
Lionにはすでにインストールされているバージョンのpostgresが付属しており、デフォルトでそれらのバイナリを使います。一般的に、自作postgresバイナリへのフルパスを使用することでこれを回避することができますが、それでも他のプログラムに関する問題があるかもしれません。
解決策
curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh
Via
http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/ /
Postgresのアップグレード中(またはアップグレード後)に問題が発生している場合は、ここに記載されている手順に従ってバージョン間でデータを安全に転送してください。これで問題が解決します。
私はBitnamiスタックを使い、非rootユーザーpsqlとしてインストールしました。 psqlを使用すると、私は言及されたエラーを受け取りました。
結局のところ、 psql の2つのバージョンがあります。
Psqlの別名を変更して、root以外のユーザーを指すようにすることができます。
alias psql='/bitnami/postgresql/postgresql/bin/psql'
上記は私にとってpsql -U postgres
をすることに役立ちました
Postgres 9.6に最新のパッチをインストールした後、私のすべての実行ファイル(postgres
、psql
、pg_dump
、pg_restore
など)が落とされ、それらを再リンクしなければならないことがわかりました。幸いHomebrewがこれをあなたに代わって実行できます。
brew link --force postgresql # (or in my case, `[email protected]`)
データディレクトリには古いpostmaster.pidファイルが含まれています。/データディレクトリには判読できないpostmaster.pidファイルが含まれています。 PostgreSQLがクラッシュした場合、このファイルにはPostgreSQLを混乱させる古いpidが含まれている可能性があります。 postmaster.pidファイルを削除するとこの問題を解決できます。ただし、PostgreSQLが実際には実行されていないことを確認する必要があります。アクティビティモニタを開き、「postgres」または「postmaster」という名前のプロセスがないことを確認します。
PostgreSQLの実行中にpostmaster.pidファイルを削除すると、悪いことが起こります。
ソース: https://postgresapp.com/documentation/troubleshooting.html
インストール後にデータベースを実行するための2つのステップ(その前にpostgres
ユーザーとしてログインしていることを確認してください)
インストール先ディレクトリ/ bin/postmaster -Dインストール先ディレクトリ/ pgsql/data
例を挙げましょう。
[postgres@localhost bin]$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
Step-2:インストールパスからpsqlを実行します( '#which postgres'がインストールされている場所を見つけるために使用した場所を確認するため)
[postgres@localhost bin]$ psql
私たちにとって、次のようにpsqlコマンドでlocalhostを定義する必要がありました。
psql -h localhost -U postgres
-h
がlocalhost
にデフォルト設定されない理由がわからない.