7

数か月前に、kyngchaos インストーラーで postgres をインストールしました。OSX Lion にアップデートしましたが、データベース サーバーが起動しません。

kyngchaos のブログ ( http://www.kyngchaos.com/blog/2011/20110723_lion ) へのコメントで、'postgres' ユーザーに注目しました。もう存在していません! 少なくとも、「sudo su postgres」はもうできません。それが私のサーバーが動かない理由だと思います。

そのユーザーを復元するにはどうすればよいですか?

4

4 に答える 4

3

dscl コマンドでは、 を実行するのではなく、 .-createを実行したいと思います-append。Apple は、アンダーバーをデーモンのユーザー名にプレフィックスとして付ける傾向があります。したがって、Apple はおそらくユーザー 101 の _postgres ラベルを作成しました-create。 を実行すると、デフォルトの _postgres ユーザーが削除され、postgres に置き換えられます。これにより、将来的に他の問題が発生する可能性があります。一方、 を実行する場合は、または のいずれかを使用してユーザー 101 を参照-appendできます。 いずれにせよ、やを実行する前に を実行する必要があります。 _postgrespostgres-list-create-append

注: 私はまだ Snow Leopard を実行しているので、ユーザー 101 が実際_postgresに であることを確認できませんが、Apple は Leopard や Snow Leopard と同じ命名規則を使用していると思います。遺言書を作成-listすることで、私の疑いを確認するために知っておくべきことがわかります。

于 2011-07-26T18:58:18.387 に答える
3

(自分で答える)

結局、「postgres」ユーザーを再作成するだけで済みました。事前に の内容を一覧表示し/usr/local/pgsql/たところ、たとえばディレクトリが userと groupdata/によって所有されていることがわかりました。そこで、postgres ユーザーを 101 ユーザー ID に結び付けたいと思いました。101postgres

sudo dscl . -create /Users/postgres
sudo dscl . -create /Users/postgres UniqueID 101

(その後、Postgres サーバーを手動で起動する方法がわからなかったので、Mac を再起動しました... ;-)

于 2011-07-25T11:44:05.903 に答える
0

私も同様の問題を抱えていました。コンソールでsystem.logを調べると、postgresqlデータディレクトリのアクセス許可に関するさまざまなメッセージがありました。私はchownやその他のものをいじってみましたが、結局は単に再インストールすることになりました-すべてが正常に機能しています。

于 2011-07-25T10:10:39.203 に答える