3

Railsを学ぼうとして、しばらく前にpostgresql-9.1をインストールしました。その時点では問題はありませんでしたが、別のトラブルシューティングを行うために Console.app を開いたところ、次のエラーが 10 秒ごとに繰り返されます。

3/1/13 10:28:15 AM  com.edb.launchd.postgresql-9.1[89003]   2013-03-01 15:28:15 GMT FATAL:  data directory "/Library/PostgreSQL/9.1/data" has wrong ownership
3/1/13 10:28:15 AM  com.edb.launchd.postgresql-9.1[89003]   2013-03-01 15:28:15 GMT HINT:  The server must be started by the user that owns the data directory.
3/1/13 10:28:15 AM  com.apple.launchd[1]    (com.edb.launchd.postgresql-9.1[89003]) Exited with exit code: 1
3/1/13 10:28:15 AM  com.apple.launchd[1]    (com.edb.launchd.postgresql-9.1) Throttling respawn: Will start in 10 seconds

どうすればそれを止めることができますか?

4

2 に答える 2

2

EnterpriseDB の PostgreSQL パッケージがインストールされているように見えますが、サーバーを起動できないため、使用していてはなりません。開発作業に Postgres.app や Homebrew Postgres などの他の PostgreSQL サーバーを使用していると思いますか?

その場合は、未使用の EnterpriseDB PostgreSQL パッケージをアンインストールすることを検討してください。別の方法として、launchd 構成ファイルを削除して、launchd が起動しようとしないようにすることもできますが、後で混乱が生じる可能性があります。

使用する場合は、権限を修正する必要があります。postgres「サーバーを起動するユーザー」はユーザー名ではなく、またはpostgres_(一部の Mac システムでは)という名前のユーザーになります。EDB PostgreSQL の launchd ファイルを読むことで、どれを見つけることができます。次に、次のことを行う必要があります。

sudo chown -R postgres /Library/PostgreSQL/9.1/data

(またはpostgres_launchdが期待するものに応じて)。

別の PostgreSQL サーバーを実行している場合、これにより EDB サーバーの起動が試行される可能性がありますが、他の PostgreSQL が使用するポート番号と競合するため、失敗します。または、次回コンピューターを起動したときに正常に起動し、他の PostgreSQL インスタンスにアクセスできなくなる可能性があります。そのため、すでに別のバージョンの PostgreSQL を使用している場合は、おそらくこれをアンインストールする必要があります。

于 2013-03-02T02:01:51.003 に答える
2

homebrewPostgreSQLを 9.3 バージョンに更新したときに、同じ問題が発生しました。インターネットで問題を解決する方法を検索し始めましたが、残念ながらうまくいきませんでした。そこで、自分で問題を調査することにしました。postgresは と の2 か所から開始しようとしていることがわかりまし/System/Library/LaunchDaemons/~/Library/LaunchAgents。古いものを削除するか、無効にするだけです(これはに配置されてい/System/Library/LaunchDaemons/ます)。それだけです。

于 2014-01-14T22:07:01.043 に答える